Home›Java›Mods›VanishSystem
VanishSystem
ModsJava

VanishSystem

Java mod listed for Minecraft 1.19–26.x. Download on the author's site.

⬇ Download on Spigot

Supported platforms: Bukkit, Spigot, Paper, Purpur, Velocity, BungeeCord, Waterfall, Sponge, Pufferfish, Folia
Suggestions, bug reports or questions? Use the plugin feedback form .
​
VanishSystem
Vanishes a staff member and hides more than just the model of the player.
Vanish staff will no longer show up in the server list, tab completion, tab list or mob interaction. No player can step into them. With the addition of PacketEvents footstep sounds, scoreboard insertions and particles will also stop. Console and server log will still see them.
Overview
What can players see
Without PacketEvents With PacketEvents
Player model, name completion, tab entry, hiding hidden hidden
Number of server list entries adjusted (Paper) filtered
Commands visible visible
"Player not found" same same
Footsteps, hurt, eating sounds still sent filtered
Sprint particles, crit particles still sent filtered
Scoreboard team entries still sent filtered
Mob targeting, arrows, pressure plates, collisions prevented prevented
Console, server output visible visible

"Still sent" entries will only be visible from a client designed to detect them. The packet layer handles this.
Features
Extra Information
Details
Spoiler: Commands
The main command handles /v, /vs and /vanishsystem. It can be renamed in the config.
Command What it does
/vanish Toggles your own vanish
/vanish on|off [player] [flags] Explicitly sets visibility for yourself or another player
/vanish timed <duration> [profile] Vanishes for a specified duration
/vanish extend <duration> Extends a timed vanish
/vanish offline <player> <on|off> Determines how an offline player will reconnect
/vanish network <on|off> Determines if vanish operates locally or across the network
/vanish profile <name> Switches profiles with no visible delay
/vanish level <number> Changes their use level
/vanish list [offline|network] Hidden players you are allowed to see
/vanish status [player] Provides information on the visibility status of a player
/vanish whycansee <viewer> <target> Provides information on a visibility decision
/vanish revealto|hideto <player> [duration] Allows for one specific viewer
/vanish pickup|xppickup <on|off> Allows for item/XP pickup while hidden
/vanish fly <on|off|speed> Allows for flying while hidden
/vanish nightvision|noclip <on|off> Allows for private mobility effects
/vanish visibleintab <on|off> Allows for visibility in the tab list
/vanish publicchat <lock|unlock|once> Locks public chat
/vanish interact <lock|unlock> [duration] Locks interaction
/vanish target <player|nearest|next|previous|clear> Selects a target to watch
/vanish follow <player|off> Follows the target
/vanish tp <player> Silently teleports to a player
/vanish return Returns to a previously saved location
/vanish fakejoin|fakequit [player] Sends a fake join or quit event
/vanish audit [player] [limit] Provides access to audit logs you can view
/vanish menu Opens the staff menu
/vanish doctor Provides health checks
/vanish debug confirm Creates a redacted support file and places it in debug-reports/
/vanish sync Sends network sync
/vanish reload Reloads. A corrupt config will be rejected and the previous config will remain active

Toggle flags: -s Silent, -t Stay in tab, -n Network scope, -p <profile>, -l <level>, -d <duration>, -r "<reason>", -c <case id>, --confirm, --dry-run, --no-return, --no-fake-message. Invalid or contradictory flags cause an error, not silent failure.
Spoiler: Permissions
All attributes except for four vanish attribute nodes (vanish.protected, vanish.exempttarget, vanish.notoggle, and vanish.joinvanished) are given to operators. These four vanish attribute nodes are intentionally not given to operators and are instead given to specific ranks.
Node Covers
vanish.use Vanish yourself. Recommended for staff in addition to vanish.see
vanish.see See vanished players
vanish.use.others, .offline, .network, .timed Vanish another player, an offline player, network wide or a timed vanish
vanish.silent, vanish.showintab Silent and show in tab flags
vanish.revealto, vanish.hideto Per viewer reveal flags
vanish.chat.bypass, vanish.chat.unlock Allow public chat while vanished
vanish.interact.bypass, vanish.interact.unlock Bypass interact restrictions
vanish.place, vanish.break, vanish.pickup, vanish.container and others One node per restriction
vanish.fly, vanish.noclip, vanish.nightvision, vanish.spectator Flight and movement options
vanish.follow, vanish.target, vanish.return, vanish.teleport Observation options
vanish.audit, .audit.location, .audit.ip, .audit.reason View the log with private fields broken out
vanish.protected Can not be forced reveal or toggle by lower ranked staff
vanish.use.level.<n>, vanish.see.level.<n>, vanish.use.profile.<name> Profile and layered visibility from config
vanish.admin Contains all staff tools nodes
Spoiler: Configuration
Configurations are separated by feature, which allows each file to remain relatively small. All plugins have a main config in config.yml within each module. Configuration files are created on first use and are never overwritten during plugin updates.
Code (Text):

plugins/VanishSystem/
├── config.yml               Main config, storage, modules and PacketEvents
├── messages.yml             All messages
├── indicators/config.yml    Title, scoreboard, boss bar, sounds, action bar
├── visibility/config.yml    Protected accounts, levels and who can see whom
├── announcements/config.yml Staff messages and fake join/quit
├── profiles/config.yml      Bundles of settings with names
├── restrictions/config.yml  Actions allowed for vanished players
├── ghost/config.yml         Sensors, projectiles and collisions
├── safety/config.yml        Safe reappear, hunger and damage
├── movement/config.yml      Noclip, spectator and flight
├── containers/config.yml    Silent chests
├── chat/config.yml          Confirmation and chat locking
├── discovery/config.yml     Server list, target lookups and tab completion
├── target/config.yml        Follow, teleport and target
├── gui/config.yml           GUI for /vanish menu
├── audit/config.yml         Auditing
├── network/config.yml      Cross server vanish
└── language/en.yml         Language files
 
Spoiler: PlaceholderAPI
Code (Text):

%vanish_is_vanished%     %vanish_state%          %vanish_profile%
%vanish_duration%        %vanish_use_level%      %vanish_see_level%
%vanish_target%          %vanish_packet_layer%   %vanish_sync_status%
%vanish_online_visible%  %vanish_online_public%  %vanish_hidden_total%
%vanish_public_chat_locked%   %vanish_prefix%    %vanish_suffix%
 
The %vanish_online_visible% placeholder provides the actual amount to moderators and the public amount to non-mods all from the same placeholder. This allows one scoreboard to work for both mod and non-mod players. The %vanish_prefix% placeholder is empty if the player is visible.
Spoiler: Developer API
Code (Text):

if (VanishAPI.isVanished(player)) {
    return; // don't announce this player
}
if (!VanishAPI.canSee(viewer, target)) {
    continue; // leave them out of your list
}
 
All functions are null safe and will gracefully deal with a missing VanishSystem. The isVanished function will also check the common vanished key set by EssentialsX, PremiumVanish and SuperVanish. Events: PlayerVanishEvent, PlayerReappearEvent (both are cancelable), the Post versions of each, target, level, profile and visibility events.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

VanishSystem is a free Minecraft Java mod. Compatible with Minecraft 1.19, 1.20, 1.20.6, 1.21 and newer. Downloaded 55 times (via Spigot). Download it and open it directly in the game.

Explore more