COWMODSКаталог модов

VanishCore

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

Автор: sainfu94240обновлён 2 июл. 2026 г.
Механики игрыУправлениеУтилиты

Описание

✨ VanishCore

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 legacy Bukkit.getScheduler().

Features · Commands · Permissions · Placeholders · Configuration · Installation · Requirements


Features

🫥 Invisibility

  • Vanished players are removed from other players' view entirely.
  • Tab-list removal so the name no longer appears in the player list (requires ProtocolLib).
  • Optional night vision while vanished (toggleable).
  • Optional invisibility effect to hide held items and armor from clients still rendering them.

🔢 Vanish priority levels

  • Each vanished player has a vanish level, so higher-ranked staff can see lower-ranked vanished staff while staying hidden from everyone else.
  • Visibility is granted through 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.

📦 Silent chest

  • Open chests, barrels, shulker boxes, and ender chests without the lid animation or sound being shown to others.
  • Requires ProtocolLib; disabled automatically if it is not installed.

👻 Appear fully offline

  • Vanished players are reported as offline to configurable commands such as /msg, /pay, /tpa, and /trade — the sender simply gets "Player not found".
  • The full list of intercepted commands is configurable.
  • Staff with vanishcore.see (or sufficient level) can still reach vanished players normally.

🛡️ Protection while vanished

  • Mobs do not target vanished players.
  • Vanished players take no damage from player attacks or projectiles.
  • Pressure plates, tripwires, and turtle eggs are not triggered.
  • Item pickup can optionally be disabled.

🔇 Stay truly hidden

  • Death messages are not broadcast when a vanished player dies.
  • Advancement / achievement announcements are suppressed.
  • Sculk sensors, sculk shriekers, and the Warden never detect a vanished player (vibrations are cancelled).
  • Phantoms never spawn on vanished players — "time since rest" is reset so a phantom can't dive in and reveal them.

🎨 Settings GUI

  • /vanishedit opens a clean, clickable settings menu.
  • Every feature can be toggled at runtime — no config editing or restart required.
  • Changes are saved immediately and the menu refreshes in place.

🌐 Cross-platform aware

  • Floodgate / Geyser support: optionally skip raw-packet features (tab-list filtering, silent chest) for Bedrock players, since Geyser translates their packets. Entity-level hiding still applies to everyone.

⚙️ Additional options

  • Vanish state persists across reconnects.
  • Auto-vanish on join for permitted staff.
  • Optional boss bar indicator while vanished.
  • Optional hidden join/quit messages and staff notifications.
  • PlaceholderAPI expansion for displaying vanish status anywhere.
  • Fully configurable messages with & color codes.

Commands

CommandAliasesDescriptionPermission
/vanish [player]/v, /uvanishToggle vanish for yourself or another playervanishcore.use
/vanishlist/vlist, /vanishedlistList currently vanished playersvanishcore.list
/vanishmsg <player> <message>/vmsgMessage a vanished staff membervanishcore.msgvanish
/vanishedit [setting] [on|off]/veditOpen the settings GUI or toggle a featurevanishcore.edit

Permissions

PermissionDescriptionDefault
vanishcore.useUse /vanish on yourselfop
vanishcore.othersVanish or unvanish other playersop
vanishcore.seeSee all vanished players (highest level)false
vanishcore.level.1See vanished players of level 1 or lowerfalse
vanishcore.level.2See vanished players of level 2 or lowerfalse
vanishcore.level.3See vanished players of level 3 or lowerfalse
vanishcore.listView the list of vanished playersop
vanishcore.autovanishAutomatically vanish on joinfalse
vanishcore.msgvanishMessage vanished playersop
vanishcore.editToggle features via /vanisheditop

Note: vanishcore.see defaults to false, so operators do not see vanished players unless the permission is explicitly granted. Grant vanishcore.see (or a vanishcore.level.<n>) only to ranks that should be able to see vanished players.


Placeholders

Requires PlaceholderAPI. Expansion identifier: vanishcore.

PlaceholderReturns
%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

Configuration

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 the messages: section.


Installation

  1. Place VanishCore-1.0.3.jar in your server's plugins/ folder.
  2. (Optional) Install ProtocolLib to enable tab-list hiding and silent chest.
  3. (Optional) Install PlaceholderAPI for the placeholders above.
  4. (Optional) Install Floodgate if you run a Geyser/Bedrock setup.
  5. Restart the server.
  6. Adjust settings in 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 support

Folia ticks each region of the world on its own thread, so plugins that call the legacy Bukkit.getScheduler() can fail on Folia. VanishCore avoids this entirely:

  • Uses RegionScheduler, EntityScheduler, and AsyncScheduler only.
  • Entity and player actions run on the owning region thread, with retired-task callbacks.
  • Shared state uses thread-safe concurrent collections.
  • Bukkit.getScheduler() is never used.

Requirements

ServerFolia 1.21.x (tested on 26.1.2)
Java21 or newer
OptionalProtocolLib — tab-list hiding & silent chest
OptionalPlaceholderAPI — %vanishcore_*% placeholders
OptionalFloodgate — Geyser/Bedrock packet handling

Made for Folia · VanishCore v1.0.3

Галерея

Setting

Последние версии

Все версии →
release

VanishCore 1.0.5

1.0.5
2 июл. 2026 г.313Minecraft: 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot
Скачать
Что нового
## [1.0.5] - 2026-07-02 ### Fixed - Silent chest: double chests were still visibly opening for viewers. Minecraft sends a `BLOCK_ACTION` lid-animation packet for *both* halves of a double chest when either half is opened, but `SilentChestManager` only tracked the block that was actually right-clicked, so the untracked half's animation packet went through unsuppressed. Now the paired half is detected via `BlockData` (`Chest.Type`/`Chest.getFacing()`) and tracked alongside the clicked block. Found by adding a `protocollib.debug` config flag that logs every packet the filter inspects plus whether it matched — confirmed ProtocolLib 5.5.0-SNAPSHOT-5a9afed packet field reads (`BLOCK_ACTION` position, `NAMED_SOUND_EFFECT` fixed-point position) are all correct on MC 26.1.2 despite ProtocolLib's own "not yet tested" warning for that version; the miss was purely the double-chest tracking gap. - Silent chest didn't work at all for barrels: barrels don't use the chest-style `BLOCK_ACTION` lid-animation packet — their open/closed lid is an actual block-state property, sent to the client as a plain block-state-update packet (`BLOCK_CHANGE`), which `SilentChestManager` never listened to. Added `BLOCK_CHANGE` to the packet filter alongside `BLOCK_ACTION`/`NAMED_SOUND_EFFECT`, suppressed the same way when it lands on a tracked container coordinate. - Silent chest didn't work at all for copper chests: `COPPER_CHEST`, `EXPOSED_COPPER_CHEST`, `WEATHERED_COPPER_CHEST`, `OXIDIZED_COPPER_CHEST`, and their four waxed variants exist as real `Material`s on this Paper 1.21.11 build but were simply missing from `CONTAINER_MATERIALS`, so they were never tracked as opened at all. Added all 8. They share `org.bukkit.block.data.type.Chest` with regular chests, so double-chest pairing covers them automatically — no extra logic needed there. - Silent chest still leaked intermittently after the double-chest fix. Root cause: `recentOpens` was only ever populated from `PlayerInteractEvent` (`RIGHT_CLICK_BLOCK`), so any container opened through a path that doesn't fire that exact event/action (another plugin forcing the inventory open, edge cases in event ordering, etc.) never got tracked — its BLOCK_ACTION/NAMED_SOUND_EFFECT packets sailed through unsuppressed. Added `InventoryOpenEvent` as a second, independent tracking path: it fires whenever a container inventory is actually opened for a player regardless of how, so it catches whatever the interact handler misses. Extracted the shared "track this block (+ its double-chest partner)" logic into `trackContainerOpen()`, used by both handlers plus the existing close handler. ### Added - A silent-chest confirmation message for the vanished player themselves — `messages.silent-chest-open` (default `"&8[&5Vanish&8] &7Opened silently — no one saw or heard it."`), sent once per confirmed open (from the `InventoryOpenEvent` handler, not the interact-event safety net, so double chests and the redundant tracking path don't double-send it). Toggle with `protocollib.notify-silent-chest-open` (default `true`). - `protocollib.debug` config key (default `false`) — logs every `BLOCK_ACTION`/`NAMED_SOUND_EFFECT` packet the silent-chest filter inspects, whether it matched a tracked open, and any packet-read exceptions. Diagnostic aid, noisy in normal play. - `/vanish reload` (`/v reload`, permission `vanishcore.reload`) — reloads `config.yml` without a restart. Works from console too. Re-reads `protocollib.debug` and the Bedrock skip flag on `SilentChestManager` live; most other config reads (messages, permission checks) were already dynamic. Note: toggling `protocollib.silent-chest-open` from disabled to enabled still requires a restart, since the packet listener is only registered once at startup.
release

VanishCore 1.0.4

1.0.4
1 июл. 2026 г.19Minecraft: 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, bungeecord, folia, paper, purpur, spigot
Скачать
Что нового
## [1.0.4] - 2026-07-01 ### Added - Broadened platform support: the jar now compiles against `paper-api:1.21.11-R0.1-SNAPSHOT` instead of `dev.folia:folia-api`, targeting Java 21 bytecode. Paper/Purpur run the plugin's region/entity scheduler calls synchronously on the main thread via their built-in compat layer, while Folia runs them regionized natively — one jar now covers Paper, Purpur and Folia across the full **1.21.11 – 26.2** range. `folia-supported: true` is kept in `plugin.yml` so real Folia servers still load it region-aware. ### Changed - The invisibility potion effect (`vanish.apply-invisibility`) is now restricted to server operators only — `player.isOp()` is checked before applying it, regardless of vanish level. Non-op staff never receives the effect even with `apply-invisibility` enabled.
release

VanishCore 1.0.3

1.0.3
22 июн. 2026 г.49Minecraft: 26.1, 26.1.1, 26.1.2bukkit, bungeecord, folia, paper, purpur, spigot
Скачать
Что нового
## v1.0.3 A big feature update focused on staff stealth and integrations. ### ✨ New: PlaceholderAPI support Adds a `vanishcore` expansion: - `%vanishcore_vanished%` — `true` / `false` - `%vanishcore_status%` — `Vanished` / `Visible` (text configurable) - `%vanishcore_level%` — the player's vanish priority level - `%vanishcore_count%` — number of vanished players - `%vanishcore_count_visible%` — how many the player is allowed to see - `%vanishcore_list%` — comma-separated names the player may see ### ✨ New: Vanish priority levels Staff can now have ranks. A viewer only sees vanished players at or below their own level. `vanishcore.level.<n>` grants the viewing level; `vanishcore.see` still sees everyone. Fully backward compatible with existing `vanishcore.see` setups. ### ✨ New: Anti-detection — hidden from server broadcasts Vanished players no longer leak through: - **Death messages** (`vanish.hide-death-messages`) - **Advancement / achievement announcements** (`vanish.hide-advancement-messages`) - **Phantoms** — "time since rest" is kept reset so phantoms never spawn on a vanished player and reveal them (`vanish.prevent-phantoms`) ### ✨ New: Invisible to Sculk & the Warden Vibrations from vanished players are cancelled, so sculk sensors, sculk shriekers and the Warden never detect them (`vanish.hide-from-sculk`). ### ✨ New: Bedrock / Geyser awareness Optional safety switch (`geyser.skip-packet-features-for-bedrock`) to skip raw packet manipulation for Bedrock (Floodgate) players, who are translated by Geyser. Off by default; entity-level hiding still applies to Bedrock players.
release

VanishCore 1.0.2

1.0.2
22 июн. 2026 г.15Minecraft: 26.1, 26.1.1, 26.1.2folia
Скачать
Что нового
## v1.0.2 ### 🔇 Silent chests are now fully silent — even for the vanished player Previously, when a vanished staff member opened a container, the chest **lid animation** and **open/close sound** were hidden from other players, but the vanished player (and any staff with `vanishcore.see`) still saw and heard their own chest opening. Now the lid animation and sound are suppressed for **everyone** while a vanished player has the container open — including the vanished player themselves and other staff. Containers opened by normal players are unaffected. **Affected blocks:** chests, trapped chests, barrels, all shulker box colors, and ender chests.
release

VanishCore 1.0.1

1.0.1
22 июн. 2026 г.11Minecraft: 26.1, 26.1.1, 26.1.2folia
Скачать
Что нового
## v1.0.1 ### 🐛 Fixed: silent chests stopped working after teleporting between worlds On multi-world servers, the silent-chest feature broke after a vanished player teleported across worlds — the lid animation and sound would start leaking to other players again. **Cause:** the feature matched open containers using a full `Location` (which is tied to a specific world object). After a cross-world teleport, the world reference no longer matched, so the suppression silently failed. The lookup also touched the player's world from a network thread, which is unsafe on Folia. **Fix:** container matching is now world-agnostic (based on block coordinates only) and no longer accesses world state from network threads. Silent chests now keep working no matter how many times you warp between worlds. > Note: this only affected servers with more than one world. Single-world servers were never impacted.
release

VanishCore 1.0.0

1.0.0
20 июн. 2026 г.17Minecraft: 26.1, 26.1.1, 26.1.2folia
Скачать