▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Vanish++

Vanish++

More Features than other plugins. Be truly invisible EVERYWHERE!

3.6K
10

Vanish++ 1.1.6

release7 апреля 2026 г.

Added

  • Vanish Scoreboard: A configurable sidebar scoreboard shown automatically to vanished players (vanishpp.scoreboard). Displays world, TPS, online count, coordinates, direction, biome, ping, health, food, armor, time, date, vanish level, and more. Updates coordinates in real-time on movement via ProtocolLib packet listener (with configurable cooldown). Toggle manually with /vscoreboard. Auto-shows on vanish, hides on unvanish. Configured in scoreboards.yml. Reloads with /vreload.
  • /vscoreboard Command: Toggle the vanish scoreboard on/off. Requires vanishpp.scoreboard.
  • Scoreboard Placeholders: Full set of built-in placeholders: %world%, %tps%, %tps_raw%, %online%, %max_players%, %vanished_count%, %x%, %y%, %z%, %direction%, %biome%, %ping%, %gamemode%, %health%, %max_health%, %food%, %armor%, %level%/%vanish_level%, %player%, %displayname%, %memory_used%, %memory_max%, %entities%, %chunks%, %time%, %date%. PlaceholderAPI supported.
  • /vlist Interactive Player Names: Each player name in /vlist output is now clickable. Hovering shows the player's vanish level and world; clicking runs /vanish <player> to unvanish them instantly.
  • Periodic Update Checker: The update checker now re-runs every hour in the background — not just once on startup. Staff with vanishpp.update are notified without needing a server restart.
  • SQL Schema Versioning: MySQL/PostgreSQL storage now tracks a schema version in vpp_schema_version and runs structured migrations on startup, allowing for future schema changes. Schema v2 adds created_at/updated_at columns for future audit trail features.
  • Real-Time Database Sync: Vanish state changes (vanish/unvanish) are now persisted to the database asynchronously, so storage I/O never blocks the main thread on join or leave. Rules and vanish state are kept in a per-player in-memory cache — pre-populated async on join and cleared on quit — eliminating database round-trips on hot event paths (block breaks, entity damage, etc.).
  • Database Connection Error Notifications: When database connectivity fails, staff with vanishpp.admin or OP status are notified in-game (throttled every 5 minutes to prevent spam). Helps identify infrastructure issues without requiring log file access.
  • Proxy Plugin Integration Documentation: Complete guide for proxy plugins (BungeeCord/Velocity) to read vanish state directly from the database. Includes example adapters and security best practices.

Changed

  • Spectator Quick-Switch Restores Exact Gamemode: Double-shifting out of Spectator now returns the player to the gamemode they were in before entering Spectator (Creative, Adventure, Survival), not always Survival.
  • DiscordSRV Fake Join/Leave Use Embed Format: Fake join and leave messages sent to Discord on vanish/unvanish now use DiscordSRV's own sendJoinMessage()/sendLeaveMessage() methods, honouring the embed, colour, avatar, and webhook settings configured in DiscordSRV's messages.yml. Previously they were always plain bold text regardless of configuration.
  • Scoreboard Column Auto-Alignment: Lines containing a | separator are automatically padded so the separator lands at the same column on every line. Label widths are measured after stripping color codes. Works for any custom label length — no manual padding needed.
  • Scoreboard Hides Score Numbers: Score numbers on the right side of the sidebar are hidden using Paper's NumberFormat.blank() API for a cleaner look.
  • Config Defaults Hardened: All config reads now use explicit fallback defaults. Previously, deleted or missing keys would silently produce false/0 — now the intended default is always applied even on a stripped config file.
  • Database Transaction Safety: removePlayerData() now uses transactions to ensure all-or-nothing deletion. Connection errors during cleanup are logged but don't partially corrupt data.
  • Network Sync Idempotency: Cross-server vanish sync (Redis) now ignores duplicate messages to prevent visibility state divergence if network flakiness causes message replays.

Fixed

  • Folia Crash on Startup: Folia 1.21.11 renamed the internal detection class used by the scheduler bridge, causing the plugin to load BukkitSchedulerBridge instead of FoliaSchedulerBridge. Added Bukkit.getName() as a fallback detection method. Additionally, Folia forbids ScoreboardManager.registerNewTeam() on the startup thread — team setup is now deferred to the global region scheduler, and vanishTeam usages are null-guarded for the brief window before it completes.
  • Action Bar Warning Overwritten: Warning messages (e.g., "Action Blocked") shown in the action bar were immediately erased by the vanish status bar on the next scheduler tick. Warnings now display for their full intended duration before the status bar resumes.
  • prevent-potion-effects Wrong Default: This setting defaulted to true in code, silently blocking all potion effects (including healing potions thrown by staff) on servers where the key was missing from config.yml. Corrected to false.
  • SQL Acknowledgements Not Persisted: The vpp_acknowledgements table was missing from the MySQL/PostgreSQL schema. Persistent acknowledgements (ProtocolLib missing warning, config migration reports) were silently ignored for SQL storage users — they are now stored and respected correctly.
  • SQL removePlayerData Left Stale Acknowledgements: Removing a player's data via SQL did not delete their acknowledgement rows. Stale entries could suppress future notifications for that UUID. Now cleared along with rules and level data in a single transaction.
  • SQL getRules Returned Strings Instead of Booleans: getRules() returned raw SQL text values ("true", "false") instead of Boolean objects, breaking any code comparing rule values by type. Values are now parsed to Boolean before being returned.
  • PostgreSQL addAcknowledgement() Syntax Error: PostgreSQL ON CONFLICT clause was incomplete, missing the constraint columns. Now correctly uses ON CONFLICT (uuid, notification_id) DO NOTHING.
  • Redis Subscriber Thread Leak: The Redis subscriber thread was never gracefully shut down on plugin reload, causing lingering connections and resource exhaustion. Now properly interrupts the thread with timeout and closes Jedis resources.
  • Folia Visibility Sync Thread Safety: Visibility sync task could cause ConcurrentModificationException in Folia's multi-region environment. Now uses immutable snapshots for safe iteration.
  • SQL Schema Migration Idempotency: Calling init() multiple times (e.g., on reload) would fail with primary key violations. Now idempotent and safe to call repeatedly.
  • Database Error Visibility: Silent database failures provided no feedback to admins. Connection errors are now logged to console and notified to staff in-game.
  • DiscordSRV Advancement Leak: Vanished players completing advancements no longer trigger Discord announcements. Suppressed via AchievementMessagePreProcessEvent as a safety net in addition to DiscordSRV's native vanish check.
  • DiscordSRV Death Leak: Vanished players dying no longer trigger Discord death announcements. Suppressed via DeathMessagePreProcessEvent as a safety net.

Vanish++ v1.1.6.1 BETA

beta4 апреля 2026 г.

Added

  • Vanish Scoreboard: A configurable sidebar scoreboard shown automatically to vanished players (vanishpp.scoreboard). Displays world, TPS, online count, coordinates, direction, biome, ping, health, food, armor, time, date, vanish level, and more. Updates coordinates in real-time on movement via ProtocolLib packet listener (with configurable cooldown). Toggle manually with /vscoreboard. Auto-shows on vanish, hides on unvanish. Configured in scoreboards.yml. Reloads with /vreload.
  • /vscoreboard Command: Toggle the vanish scoreboard on/off. Requires vanishpp.scoreboard.
  • Scoreboard Placeholders: Full set of built-in placeholders: %world%, %tps%, %tps_raw%, %online%, %max_players%, %vanished_count%, %x%, %y%, %z%, %direction%, %biome%, %ping%, %gamemode%, %health%, %max_health%, %food%, %armor%, %level%/%vanish_level%, %player%, %displayname%, %memory_used%, %memory_max%, %entities%, %chunks%, %time%, %date%. PlaceholderAPI supported.
  • /vlist Interactive Player Names: Each player name in /vlist output is now clickable. Hovering shows the player's vanish level and world; clicking runs /vanish <player> to unvanish them instantly.
  • Periodic Update Checker: The update checker now re-runs every hour in the background — not just once on startup. Staff with vanishpp.update are notified without needing a server restart.
  • SQL Schema Versioning: MySQL/PostgreSQL storage now tracks a schema version in vpp_schema_version and runs structured migrations on startup, allowing for future schema changes. Schema v2 adds created_at/updated_at columns for future audit trail features.
  • Real-Time Database Sync: Vanish state changes (vanish/unvanish) are now persisted to the database asynchronously, so storage I/O never blocks the main thread on join or leave. Rules and vanish state are kept in a per-player in-memory cache — pre-populated async on join and cleared on quit — eliminating database round-trips on hot event paths (block breaks, entity damage, etc.).
  • Database Connection Error Notifications: When database connectivity fails, staff with vanishpp.admin or OP status are notified in-game (throttled every 5 minutes to prevent spam). Helps identify infrastructure issues without requiring log file access.
  • Proxy Plugin Integration Documentation: Complete guide for proxy plugins (BungeeCord/Velocity) to read vanish state directly from the database. Includes example adapters and security best practices.

Changed

  • Spectator Quick-Switch Restores Exact Gamemode: Double-shifting out of Spectator now returns the player to the gamemode they were in before entering Spectator (Creative, Adventure, Survival), not always Survival.
  • DiscordSRV Fake Join/Leave Use Embed Format: Fake join and leave messages sent to Discord on vanish/unvanish now use DiscordSRV's own sendJoinMessage()/sendLeaveMessage() methods, honouring the embed, colour, avatar, and webhook settings configured in DiscordSRV's messages.yml. Previously they were always plain bold text regardless of configuration.
  • Scoreboard Column Auto-Alignment: Lines containing a | separator are automatically padded so the separator lands at the same column on every line. Label widths are measured after stripping color codes. Works for any custom label length — no manual padding needed.
  • Scoreboard Hides Score Numbers: Score numbers on the right side of the sidebar are hidden using Paper's NumberFormat.blank() API for a cleaner look.
  • Config Defaults Hardened: All config reads now use explicit fallback defaults. Previously, deleted or missing keys would silently produce false/0 — now the intended default is always applied even on a stripped config file.
  • Database Transaction Safety: removePlayerData() now uses transactions to ensure all-or-nothing deletion. Connection errors during cleanup are logged but don't partially corrupt data.
  • Network Sync Idempotency: Cross-server vanish sync (Redis) now ignores duplicate messages to prevent visibility state divergence if network flakiness causes message replays.

Fixed

  • Folia Crash on Startup: Folia 1.21.11 renamed the internal detection class used by the scheduler bridge, causing the plugin to load BukkitSchedulerBridge instead of FoliaSchedulerBridge. Added Bukkit.getName() as a fallback detection method. Additionally, Folia forbids ScoreboardManager.registerNewTeam() on the startup thread — team setup is now deferred to the global region scheduler, and vanishTeam usages are null-guarded for the brief window before it completes.
  • Action Bar Warning Overwritten: Warning messages (e.g., "Action Blocked") shown in the action bar were immediately erased by the vanish status bar on the next scheduler tick. Warnings now display for their full intended duration before the status bar resumes.
  • prevent-potion-effects Wrong Default: This setting defaulted to true in code, silently blocking all potion effects (including healing potions thrown by staff) on servers where the key was missing from config.yml. Corrected to false.
  • SQL Acknowledgements Not Persisted: The vpp_acknowledgements table was missing from the MySQL/PostgreSQL schema. Persistent acknowledgements (ProtocolLib missing warning, config migration reports) were silently ignored for SQL storage users — they are now stored and respected correctly.
  • SQL removePlayerData Left Stale Acknowledgements: Removing a player's data via SQL did not delete their acknowledgement rows. Stale entries could suppress future notifications for that UUID. Now cleared along with rules and level data in a single transaction.
  • SQL getRules Returned Strings Instead of Booleans: getRules() returned raw SQL text values ("true", "false") instead of Boolean objects, breaking any code comparing rule values by type. Values are now parsed to Boolean before being returned.
  • PostgreSQL addAcknowledgement() Syntax Error: PostgreSQL ON CONFLICT clause was incomplete, missing the constraint columns. Now correctly uses ON CONFLICT (uuid, notification_id) DO NOTHING.
  • Redis Subscriber Thread Leak: The Redis subscriber thread was never gracefully shut down on plugin reload, causing lingering connections and resource exhaustion. Now properly interrupts the thread with timeout and closes Jedis resources.
  • Folia Visibility Sync Thread Safety: Visibility sync task could cause ConcurrentModificationException in Folia's multi-region environment. Now uses immutable snapshots for safe iteration.
  • SQL Schema Migration Idempotency: Calling init() multiple times (e.g., on reload) would fail with primary key violations. Now idempotent and safe to call repeatedly.
  • Database Error Visibility: Silent database failures provided no feedback to admins. Connection errors are now logged to console and notified to staff in-game.
  • DiscordSRV Advancement Leak: Vanished players completing advancements no longer trigger Discord announcements. Suppressed via AchievementMessagePreProcessEvent as a safety net in addition to DiscordSRV's native vanish check.
  • DiscordSRV Death Leak: Vanished players dying no longer trigger Discord death announcements. Suppressed via DeathMessagePreProcessEvent as a safety net.

Vanish++ 1.1.6 BETA

beta1 апреля 2026 г.

[1.1.6] - 2026-04-01

Added

  • Periodic Update Checker: The update checker now re-runs every hour in the background — not just once on startup. Staff with vanishpp.update are notified without needing a server restart.
  • SQL Schema Versioning: MySQL/PostgreSQL storage now tracks a schema version in vpp_schema_version and runs structured migrations on startup, making future schema changes safe and automatic.

Changed

  • Config Defaults Hardened: All config reads now use explicit fallback defaults. Previously, deleted or missing keys would silently produce false/0 — now the intended default is always applied even on a stripped config file.

Vanish++ 1.1.5

release28 марта 2026 г.

Added

  • Spectator Quick-Switch: Vanished players with vanishpp.spectator can double-tap Shift to toggle Spectator mode instantly. Double-tap again to return to the previous gamemode. Unvanishing while in Spectator forces the player back automatically (bypassed by vanishpp.spectator.bypass).
  • spectator_gamemode VRule: New per-player rule to enable or disable the Spectator quick-switch. Default: true. Configurable globally under vanish-gamemodes.enabled.

Changed

  • Spectator Mode Feedback: The action bar notification shown when entering or exiting Spectator mode is now displayed for 3 seconds and is no longer immediately overwritten by the vanish status indicator.
  • Unknown Command on Permission Denied: Players without permission to use any Vanish++ command now receive a vanilla-style "Unknown command" response instead of a permission-denied message, preventing server staff plugin discovery.

Fixed

  • Mob Despawning Near Vanished Players: Mobs no longer despawn when chunks are reloaded near a vanished player. The previous setAffectsSpawning(false) call incorrectly caused the server to ignore vanished players for mob lifecycle calculations. Pressure plate suppression is now handled exclusively by the CAN_TRIGGER_PHYSICAL rule, which was already in place.
  • Mobs Not Attacking Non-Vanished Players: Removed MobAiManager, which replaced the vanilla LookAtPlayerGoal for all mobs globally. The Paper MobGoals API used to inject the custom goal was causing mob attack AI to break for all players. Attack prevention for vanished players is now handled entirely through EntityTargetEvent.
  • can_throw Rule Had No Effect: Throwing projectiles (snowballs, eggs, ender pearls, potions, bows, crossbows) while can_throw was enabled was still blocked because PlayerInteractEvent cancelled the right-click before ProjectileLaunchEvent could fire. The interact handler now permits throwable items through when can_throw is enabled, even if can_interact is disabled.
  • Spawn Eggs Always Blocked: Spawn eggs were blocked unconditionally regardless of the can_throw rule state. They now respect the rule correctly.
  • Periodic Mob Pathfinding Interruption: The background sync task was calling stopPathfinding() on all nearby mobs every 0.5 seconds. This caused mobs to appear passive and disrupted vanilla mob behaviour for all players. Mob targeting is now handled reactively via EntityTargetEvent only.

Vanish++ 1.1.4

release19 марта 2026 г.

Added

  • can_throw VRule: New personal rule controlling whether vanished players can throw items (eggs, snowballs, ender pearls, potions, bows, crossbows). Default: false. Fully integrated with interactive chat buttons ([Allow 1m], [Allow permanently], [Hide notifications]).
  • Staff Glow Indicator: Vanished players now render with a glowing outline for staff with vanishpp.see. Uses packet-level metadata injection — non-staff never see it. Enabled by default (vanish-appearance.staff-glow: true).
  • Vanish State Resync Engine: New resyncVanishEffects() system that reapplies all vanish state (team, prefix, metadata, fly, night vision, collision, mob targeting, visibility, glow) without touching storage. Triggered automatically on respawn, world change, and gamemode change.
  • Respawn Handler: Vanish state (fly, invisibility, glow, collision) is now fully restored after death and respawn.
  • World Change Handler: Nether/End portal transitions no longer break vanish state.
  • Gamemode Change Handler: Changing gamemode (e.g., /gamemode survival) while vanished no longer disables flight.
  • [Unvanish] Button: All blocked-action messages now include a convenient [Unvanish] button alongside [Allow 1m], [Allow permanently], and [Hide notifications].
  • Fast Sync Loop: Heartbeat task now runs every 10 ticks with visibility fix, team/prefix reapply, glow metadata resend, and mob targeting — ensuring all vanish features stay in sync continuously.
  • Explicit Glow Metadata Packets: Staff glow is now sent via direct ProtocolLib ENTITY_METADATA packets rather than relying on entity respawn metadata, ensuring the glow appears instantly.
  • Multi-Stage Join Prefix: Tab prefix is now reapplied at 2, 20, and 60 ticks after join — catches TAB plugin async overrides at different pipeline stages.
  • Snapshot Silent Chests: Barrels and containers are now opened as inventory snapshots (copy of the real inventory). Changes sync back on close. This eliminates Container.startOpen() entirely, preventing animation and sound at the source.
  • Reload Resync: /vreload now refreshes team prefix and resyncs all online vanished players' effects.
  • Setup Advisor (Config Sanity Checker): On startup, Vanish++ now scans the active configuration and warns if:
    • hooks.simple-voice-chat.enabled is true but SimpleVoiceChat is not installed.
    • hooks.essentials.simulate-join-leave is true but EssentialsX is not installed.
    • Any message string contains a PlaceholderAPI placeholder (%token%) but PlaceholderAPI is not installed.
    • Warnings are printed to the console and shown in-chat to all players with vanishpp.see on their next login, making it easy to spot setup issues without reading logs.
  • Comprehensive Automated Test Suite: 143 unit tests across 6 test classes covering every feature — commands, event listeners, storage, permissions, rules, and integration scenarios. All tests pass on clean build.
  • Full Localization (i18n): Complete multi-language support.
    • All messages and system reports moved to lang/en.yml.
    • Automatic fallback system for missing keys.
    • Simplified config.yml with a new language toggle.
  • Rich Text Support: Integrated MiniMessage for modern, easy-to-read chat formatting using tags (e.g., <red>, <bold>, <click>).
  • PlaceholderAPI Integration: Full support for dynamic placeholders in all plugin messages and the Action Bar.
  • Folia Support: Rewritten scheduler and event handling to support Folia's multi-threaded region architecture.
  • Config Reload: Added /vreload command to apply configuration and language changes instantly without server restarts.
  • Interactive Reports: Professional clickable components in all command outputs.
  • Titan Stealth Engine: Absolute packet-level invisibility for vanished administrators. The server now acts as if the vanished player does not exist in the network data.
    • Tab List & Info Filtering: Blocked PLAYER_INFO and PLAYER_INFO_UPDATE packets to prevent any tab list flicker or presence detection.
    • Ghost-Proof Spawning: Intercepted SPAWN_ENTITY and NAMED_ENTITY_SPAWN to ensure vanished players are never spawned on unauthorized clients.
    • Absolute Metadata & Update Blocking: High-priority interceptors for ENTITY_METADATA, ENTITY_EQUIPMENT, ANIMATION, ENTITY_EFFECT, ENTITY_STATUS, and ENTITY_SOUND_EFFECT to ensure zero data leakage.
    • Movement & Velocity Filtering: Blocked ENTITY_VELOCITY, REL_ENTITY_MOVE, ENTITY_LOOK, ENTITY_TELEPORT, and ENTITY_HEAD_ROTATION to eliminate coordinate-level leaks.
    • Action Scrubber: Intercepted COLLECT (item pickups) and SET_PASSENGERS (mounting) to scrub vanished names even when they are not the primary entity.
    • Team Scrubbing: Intercepted SCOREBOARD_TEAM to remove vanished names from any raw team packets sent to non-staff.
  • Plugin Hiding: "Vanishpp" is now hidden from /plugins (or /pl) for non-OPs. Administrators see a filtered list with a delayed interactive notification to temporarily unhide or acknowledge the feature.
  • Strict Command Permissions: All commands now enforce strict permissions in plugin.yml. Unauthorized players cannot see commands in Tab-Complete.
  • Config Logic: vanishMessage, unvanishMessage, fakeJoinMessage, and fakeQuitMessage logic updated. Setting these to "false", "none", or leaving them empty in config.yml now properly disables the message.
  • Persistence: Acknowledging the plugin hiding warning now saves the preference to data.yml specifically for the current version.

Changed

  • Silent Chest Architecture: Replaced the spectator-mode workaround with a snapshot inventory system. Vanished players now open a copy of the container, and edits sync back on close — no animation, no sound, full item interaction.
  • Throwable Blocking: Throwables (eggs, bows, ender pearls, etc.) are now governed by the can_throw VRule instead of being unconditionally blocked. Players can toggle this rule like any other.
  • Spawn Egg Messages: Spawn eggs now use the standard sendRuleDeny system with can_throw, providing interactive buttons instead of a static message.
  • Sound Suppression: Silent chest sound listener now covers both NAMED_SOUND_EFFECT and CUSTOM_SOUND_EFFECT packets with robust multi-offset coordinate detection.
  • Config Structure: Significant cleanup of config.yml. Legacy message blocks removed in favor of lang/*.yml.
  • Performance: Optimized visibility checks and metadata handling for better server performance.

Fixed

  • DiscordSRV Join/Quit Suppression: DiscordSRV now fully suppresses join and quit announcements on Discord for players who rejoin with persisted vanish state. Previously, only chat suppression worked — Discord join messages leaked through.
  • Barrel/Shulker Silent Opening: Opening barrels and shulker boxes while vanished no longer leaks the open/close animation or sound to nearby players. Previously, the Container.startOpen() call triggered both.
  • Join Prefix Delay: The vanish tab prefix ([V]) now appears within ~100ms of joining instead of taking 3+ seconds. Multi-stage reapplication handles TAB plugin async overrides.
  • Throwable Items Leaked Position: Throwing eggs, snowballs, ender pearls, and shooting bows while vanished created visible projectile entities that revealed the player's position. Now blocked by default via the can_throw rule.
  • Spawn Egg Rule Bypass: The CAN_INTERACT rule had no effect on spawn eggs due to incorrect check ordering. Spawn eggs are now properly governed by can_throw.
  • Vanish State Lost on Respawn: Dying and respawning while vanished caused loss of fly, invisibility, glow, collision settings, and night vision.
  • Vanish State Lost on World Change: Entering nether/end portals broke vanish state (visibility, fly, glow, prefix).
  • Flight Lost on Gamemode Change: Running /gamemode survival while vanished disabled fly mode permanently until re-vanishing.
  • Reload Didn't Resync: /vreload previously only reloaded config files without resyncing active vanish effects for online players.
  • Mob Targeting on Vanish: Mobs that had already acquired a player as their target before /vanish was used would continue attacking. Fixed by explicitly clearing all matching mob targets within 64 blocks the moment a player vanishes.
  • Console Staff Notification: Console was silently excluded from vanish/unvanish staff notifications. It now receives the same message as staff players with vanishpp.see.
  • Fly Mode Logic: Improved flight persistence on unvanish when configured.
  • Dependency Resolution: Fixed an issue where the ProtocolLib dependency was not correctly detected on first install.

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:AGPL-3.0-or-later
Опубликован:10 месяцев назад
Обновлён:3 дня назад
Главная