
A modern, lightweight vanish plugin built natively for Folia. Disappear completely. No tab list. No chest sounds. No trace.

A lightweight, CMI-style vanish plugin built natively for Folia.
v1.0.3 · Folia 26.1.x · Java 21
VanishCore hides staff members from regular players — they are removed from view, from the
tab list, and appear completely offline to common commands. It is written around Folia's
regionized scheduler model, so it runs correctly on Folia without relying on the legacyBukkit.getScheduler().
Features · Commands · Permissions · Placeholders · Configuration · Installation · Requirements
vanishcore.level.<n> permissions — a viewer sees vanished players of their level or lower.vanishcore.see acts as the master permission and reveals all vanished players./msg, /pay, /tpa, and /trade — the sender simply gets "Player not found".vanishcore.see (or sufficient level) can still reach vanished players normally./vanishedit opens a clean, clickable settings menu.& color codes.| Command | Aliases | Description | Permission |
|---|---|---|---|
/vanish [player] |
/v, /uvanish |
Toggle vanish for yourself or another player | vanishcore.use |
/vanishlist |
/vlist, /vanishedlist |
List currently vanished players | vanishcore.list |
/vanishmsg <player> <message> |
/vmsg |
Message a vanished staff member | vanishcore.msgvanish |
/vanishedit [setting] [on|off] |
/vedit |
Open the settings GUI or toggle a feature | vanishcore.edit |
| Permission | Description | Default |
|---|---|---|
vanishcore.use |
Use /vanish on yourself |
op |
vanishcore.others |
Vanish or unvanish other players | op |
vanishcore.see |
See all vanished players (highest level) | false |
vanishcore.level.1 |
See vanished players of level 1 or lower | false |
vanishcore.level.2 |
See vanished players of level 2 or lower | false |
vanishcore.level.3 |
See vanished players of level 3 or lower | false |
vanishcore.list |
View the list of vanished players | op |
vanishcore.autovanish |
Automatically vanish on join | false |
vanishcore.msgvanish |
Message vanished players | op |
vanishcore.edit |
Toggle features via /vanishedit |
op |
Note:
vanishcore.seedefaults tofalse, so operators do not see vanished players unless the permission is explicitly granted. Grantvanishcore.see(or avanishcore.level.<n>) only to ranks that should be able to see vanished players.
Requires PlaceholderAPI. Expansion identifier: vanishcore.
| Placeholder | Returns |
|---|---|
%vanishcore_vanished% |
true / false for the player |
%vanishcore_status% |
Vanished / Visible (configurable text) |
%vanishcore_level% |
The player's vanish level (0 if not vanished) |
%vanishcore_count% |
Number of currently vanished players |
%vanishcore_count_visible% |
Vanished players the viewer is allowed to see |
%vanishcore_list% |
Comma-separated names the viewer may see |
All behavior is configured in plugins/VanishCore/config.yml, or toggled live via /vanishedit.
vanish:
apply-invisibility: false # hide held items/armor on lingering clients
apply-night-vision: true # let vanished staff see in the dark
prevent-mob-targeting: true
prevent-item-pickup: false
hide-join-quit-messages: true
notify-staff-on-toggle: true
persist-across-rejoin: true
prevent-pvp-damage: true
prevent-physical-triggers: true # pressure plates / tripwires / turtle eggs
show-bossbar: true
hide-death-messages: true
hide-advancement-messages: true
hide-from-sculk: true # sculk sensors / shriekers / Warden
prevent-phantoms: true
fake-offline: true # appear offline to /msg, /pay, /tpa, ...
intercept-commands: [ msg, tell, pay, tpa, trade, ... ]
protocollib:
silent-chest-open: true
geyser:
skip-packet-features-for-bedrock: false
placeholders:
status-vanished: "Vanished"
status-visible: "Visible"
Every message is configurable with
&color codes under themessages:section.
VanishCore-1.0.3.jar in your server's plugins/ folder.plugins/VanishCore/config.yml, or use /vanishedit in-game.Without ProtocolLib the plugin still runs — only tab-list hiding and silent chest are disabled.
Folia ticks each region of the world on its own thread, so plugins that call the legacyBukkit.getScheduler() can fail on Folia. VanishCore avoids this entirely:
RegionScheduler, EntityScheduler, and AsyncScheduler only.Bukkit.getScheduler() is never used.| Server | Folia 1.21.x (tested on 26.1.2) |
| Java | 21 or newer |
| Optional | ProtocolLib — tab-list hiding & silent chest |
| Optional | PlaceholderAPI — %vanishcore_*% placeholders |
| Optional | Floodgate — Geyser/Bedrock packet handling |
Made for Folia · VanishCore v1.0.3