Sueta

VanishCore

1.0.5

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

·Plugin
  1. 1.0.5latestVanishCore 1.0.5Jul 2, 2026

    [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 Materials 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.
    202 downloads
  2. 1.0.4VanishCore 1.0.4Jul 1, 2026

    [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.
    9 downloads
  3. 1.0.3VanishCore 1.0.3Jun 22, 2026

    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.
    37 downloads
  4. 1.0.2VanishCore 1.0.2Jun 22, 2026

    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.
    5 downloads
  5. 1.0.1VanishCore 1.0.1Jun 22, 2026

    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.
    7 downloads
  6. 1.0.0VanishCore 1.0.0Jun 20, 2026
    9 downloads

Similar projects

Plugin →