MysticVanish-1.0.0.jar
What's new
[1.0.0] — 2026-06-30
First release. MysticVanish is a layered vanish system for Hytale servers: every
player has a vanish level (how concealed they are) and a see level (how much
they can see), and a viewer sees a vanished player only when
viewer.seeLevel >= target.vanishLevel.
- Requires: Hytale Server
>=0.5.6 <0.6.0 - Optional integrations: LuckPerms, PlaceholderAPI
Added — Core
- Layered visibility model. A single rule (
viewer.seeLevel >= target.vanishLevel) drives every visibility decision, producing natural staff hierarchies. Players always see themselves; non-vanished players are always visible. - Permission-driven levels. Vanish level resolves from the highest
mysticvanish.level.<N>node a player holds; see level from the highestmysticvanish.see.<N>. Any non-negative integer tier is supported. Vanishing requires a resolved level of at least 1. - Wildcard-safe resolution. Level/see wildcards are ignored and
mysticvanish.admindoes not grant levels, so platform-wide admin groups never silently inherit vanish power. - Reactive visibility updates on join, world change, permission change, and vanish toggle, applied per-viewer on the correct world thread.
- Optional periodic safety sweep (
settings.visibility_refresh_interval_seconds, disabled by default) to correct rare desyncs. - Per-player vanish state with vanish flag, level, profile, and the set of features active for the session.
Added — Stealth features
Each feature is independently gated by config (enabled, require_permission)
and a permission node.
- Hide from tab list (
hide_tab) — removes the player from the tab/player list for viewers who can't see them; restored automatically on visibility change. - Hide from map (
hide_map) — hides the player and their marker from the map. - Hide nameplate / nametag (
hide_nameplate) — removes the floating name. - Suppress join & leave messages (
settings.hide_join_leave_messages). - No entity target (
no_entity_target) — registers an NPC attitude override that forces hostile entities to ignore vanished holders, globally and with no per-NPC configuration. - No trigger volume (
no_trigger_volume) — cancels entity interactions (NPCs/scripted entities) for vanished holders, and surfaces aVanishFeatureCheckEventso scripts/mods can skip trigger-volume logic. - Chat protection (
chat_protection) — blocks accidental public chat with modeblock(cancel + warn) orredirect_to_staff_chat(route to a[Staff]channel). - Command protection (
command_protection) — blocks a configurable list of risky commands while vanished (default:msg,tell,r,reply,me,tpa,tpahere,trade,party invite).
Added — Visuals
- Vanish glow — persistent colour highlight on vanished players, seen only by
viewers who can already see them. Eight preset colours (
cyan,blue,green,red,purple,gold,white,pink), bundled as effect assets. Cleaned up on unvanish/disconnect so no infinite effect can linger. - Vanish aura — per-viewer particle effect around vanished players, visible only to those who can see them. Distinct one-way vs mutual particle systems and colours, distance limiting, and gap-based scaling that grows the aura larger and brighter as the see-level/vanish-level gap widens.
- Vanish HUD — on-screen
VANISHED Level {level}indicator shown to the vanished player, driven by a bundled client-side.uilayout and fully configurable.
Added — Commands
/vanish(aliases/v,/mvanish,/mysticvanish) — toggle your own vanish./vanish off— force vanish off./vanish status [player]— show vanish status, level, see level, and profile./vanish <player>— toggle vanish for another player./vanish reload— reload config and messages./vchat <message>— send intentional public chat while vanished.- Vanish level comes from rank only; the legacy
/vanish <level>form is rejected with an explanatory message.
Added — Permissions
- Command/action nodes:
mysticvanish.use,mysticvanish.toggle.others,mysticvanish.status.others,mysticvanish.reload, and themysticvanish.adminwildcard (excludes levels). - Level nodes:
mysticvanish.level.<N>,mysticvanish.see.<N>. - Feature nodes under
mysticvanish.feature.*, each overridable in config.
Added — Integrations
- LuckPerms (auto-detected) — reads level/see/feature nodes including inherited groups, and listens for permission changes to re-apply visibility live.
- PlaceholderAPI (auto-detected) — registers the
mysticvanishexpansion exposing state, level, see level, profile, per-feature flags, and livehidden_from_count/visible_to_count. Aplaceholders.jsonreference file is generated for admins. - Both are optional
compileOnlydependencies and are guarded so the plugin loads cleanly when they are absent.
Added — Configuration
- Self-generating
config.json,messages.json, andplaceholders.jsoninmods/MysticVanish/, created from in-code defaults on first run. - Configurable sections:
settings,storage,permissions,profiles,features,glow,aura,hud, andplaceholderapi. - Named level profiles (
helper,moderator,admin,ownerby default) for documenting tiers and enumerating native-permission level numbers. - Fully customisable, colour-code-aware player messages.
/vanish reloadre-reads config and messages, refreshes visibility, and restarts the aura task at runtime.
Added — Developer API
MysticVanishAPIpublished via the staticMysticVanishProvider(isRegistered()/get()), with read/write methods for vanish state, levels,canSee, and visibility updates.- Immutable
VanishStateand theVanishFeatureenum on the public surface. - Lifecycle events keyed by player UUID:
VanishEnableEvent,VanishDisableEvent,VanishLevelChangeEvent,VanishVisibilityUpdateEvent,VanishChatBlockedEvent,VanishCommandBlockedEvent, andVanishFeatureCheckEvent. - Pluggable storage behind a
VanishStorageinterface, selected byStorageManager.
Added — Documentation
- Wiki pages under
https://wiki.hytalemodding.dev/mod/mysticvanish: Home, Getting Started, User Guide, Features, Administration Guide, and Developer Guide.
Notes & known limitations (Hytale Server 0.5.6)
- Storage is in-memory only. Vanish state is per-session and resets on restart.
The
yaml,sqlite, andredisstorage types are reserved and currently fall back to memory. silent_chestsandsilent_interactionsare reserved no-ops. Server 0.5.6 has no API to suppress a sound/particle without cancelling the whole action.hide_commandsis reserved and currently has no behaviour.- Trigger volumes cannot be cancelled in 0.5.6, so
no_trigger_volumesignals other mods viaVanishFeatureCheckEventinstead of preventing the volume directly. - Command protection operates on chat-routed commands because 0.5.6 exposes only a chat event, not a dedicated command-preprocess event.
- Changing
storage.typeor togglingno_entity_targetrequires a full server restart (both are wired at startup); other changes apply via/vanish reload.
This mod has no additional files

