Anti Totem Ghost v1.5

The definitive ghost-player fix for Your server



AntiTotemGhost
Eliminates Ghost Players. Totems, Teleports, Respawns & More.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

13 Fix Reasons Smart Auto-Detect Folia Support Paper 1.21 API + Events

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



What AntiTotemGhost Solves



Minecraft's client-server model has a known weakness: after a totem pop, respawn, teleport, portal travel, or world change, the server stops sending tracker updates for that player. Other clients still see a ghost - an entity that does not move, does not animate, and does not exist on the server. The player is effectively invisible or frozen to everyone else until something forces a full chunk resend.

AntiTotemGhost fixes this. It monitors 13 distinct triggers - from totem resurrection to item pickup - and issues a targeted Paper API tracker refresh the moment a desync risk is detected. The result is zero ghosting, zero invisible players, and zero manual /reload commands from frustrated staff.



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


13 Triggers. Every Module Independent.

Each module has its own toggle, delay-ticks, and optional sub-settings.
Every module can be disabled independently without touching the others.


Combat & Survival Modules
  • Totem Fires after EntityResurrectEvent. Optional elytra state preservation so gliding players keep flying after a pop.
  • Respawn Fixes ghosting after player death and respawn. Configurable delay to let the server settle.
  • Item Pickup Fail-safe for ghost item pickups where the server and client disagree on inventory state.


Movement Modules
  • Teleport Configurable minimum distance (blocks) and cross-world-only mode. Ignores short /tpa hops if desired.
  • World Change Fires when a player moves between worlds. Critical for multi-world networks.
  • Portal Slightly higher delay to account for portal loading. Covers both Nether and End portals.


Administrative Modules
  • Join Refreshes a joining player for everyone already on the server. Eliminates the half-second invisible-on-join issue.
  • Vanish Reveals properly when a vanished player un-vanishes. Integrates with SuperVanish and PremiumVanish.
  • Gamemode Fires on gamemode changes. Can filter by source mode (e.g., only when leaving SPECTATOR).


Vehicle Modules
  • Mount / Dismount Separate modules for mounting and dismounting entities. Essential for servers with rideable mobs or vehicles.



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Core Systems


Smart Desync Detection
  • Uses Paper's advanced getTrackedBy() API to compare who actually sees the player vs. who should
  • Only issues a refresh when real desync is detected - no unnecessary chunk resends
  • Periodic background task runs on a configurable interval (default: every 100 ticks)
  • View distance for auto-detect is fully configurable (default: 128 blocks)


Throttle System
  • Per-reason minimum ticks between fixes for the same player+reason pair
  • Prevents spam from rapid-fire triggers (e.g., multiple teleports in succession)
  • Each reason has its own configurable cooldown in config.yml


Exemption System
  • Permission-based: grant antitotemghost.exempt to skip specific players
  • UUID whitelist for hard-coded exemptions
  • NPC auto-detection via Citizens and ModelEngine hooks - NPCs are never processed


Elytra State Tracker
  • Captures gliding state before totem fix and restores it after refresh
  • Totem-popping while flying no longer drops the player out of the sky


World Scoping
  • Blacklist or whitelist mode for worlds
  • Disable the plugin in specific worlds (e.g., event worlds, lobbies)


Statistics
  • Per-player fix counters for every reason, visible via /antighost stats
  • Optional persistence to file on a configurable interval
  • PlaceholderAPI expansion for displaying stats on scoreboards and holograms


Developer API
  • AntiTotemGhostAPI registered via Bukkit ServicesManager for easy access
  • GhostFixEvent - cancellable, fired before a fix. Let other plugins veto fixes
  • GhostFixedEvent - fired after a fix completes. Perfect for logging, rewards, or integration
  • refreshPlayer(), refreshSurroundings(), getStats(), isExempt() - full API surface


Multi-Language Support
  • Built-in: English and Polish. Add custom languages by dropping a file in /lang/
  • All messages use MiniMessage with full hex color and gradient support
  • Language switch is a single line in config.yml



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


How AntiTotemGhost Compares


 

Feature AntiTotemGhost Manual / Simple Plugins
Trigger coverage 13 distinct reasons with per-module config Totem-only or nothing at all
Detection method Smart getTrackedBy() desync analysis Blind chunk resend or none
Spam protection Per-reason throttle, exemption, world scope None or a basic global cooldown
Folia support Fully supported via entity scheduler Most break on Folia
API & events Bukkit ServicesManager API + 2 events No API surface
Elytra preservation Captures and restores gliding state Not handled
Soft dependencies Citizens, ModelEngine, Essentials, Vanish plugins None





━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Who This Is For


  • PvP servers Totem ghosting is the #1 desync complaint in PvP. AntiTotemGhost eliminates it completely. No more reports of invisible opponents or frozen players after a clutch pop.
  • Survival and SMP Players teleporting home, traveling through portals, or changing worlds will never ghost on each other. Essential for any server with /tpa, warps, or multi-world setups.
  • Minigame and kit servers Gamemode changes, respawns, and spectator transitions are all covered. Players will always see each other clearly between rounds.
  • Network owners Drop AntiTotemGhost into any server running Paper 1.21. Single-command install, full /antighost reload support, Folia-compatible out of the box. Works alongside any other plugin.



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Technical Specs


 

Server Paper 1.21, Java 21
Dependencies None. All features work standalone.
Soft dependencies PlaceholderAPI, Citizens, ModelEngine, Essentials, SuperVanish, PremiumVanish
Languages en_US, pl_PL (extensible)
Analytics bStats, optional, toggle in config
Threading Folia-safe entity scheduler. Async detection, sync execution




Commands

 

Command Description Permission
/antighost info Shows plugin version, module statuses, and hook availability none
/antighost reload Reloads config and language files without server restart antitotemghost.admin
/antighost refresh [player] Manually refreshes a player's tracker state antitotemghost.refresh
/antighost fixall Refreshes all online players at once antitotemghost.admin
/antighost stats [player] Displays per-reason fix statistics for a player antitotemghost.stats
/antighost debug Shows live tracker state for debugging desync issues antitotemghost.admin




Permissions

 

Permission Description Default
antitotemghost.admin Access to admin commands (reload, fixall, debug) op
antitotemghost.refresh Manually refresh players op
antitotemghost.stats View fix statistics true
antitotemghost.exempt Player is skipped by all AntiTotemGhost actions false





━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



Get AntiTotemGhost

Ghost players are not a client-side issue. They are a server-side problem with a server-side fix.

13 triggers. Smart detection. Zero ghosting. One plugin.

Drop it in your plugins folder. It just works.

Questions? Open an issue on GitHub. Feature requests are reviewed.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Product Info
Statistics
801

Views

0

Purchases

0

Downloads

93.38 KB

File size

12.07.2026

Published

23.08.2026

Updated

Info
Supported software
Supported Versions
1.21 - 26.2
Share & Earn

Share and earn part of the profits, an estimated €0.4 per product sale.

Log in to get your link
Product Image
Anti Totem Ghost
Anti Totem Ghost