Anti Totem Ghost v1.0

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

FeatureAntiTotemGhostManual / Simple Plugins
Trigger coverage13 distinct reasons with per-module configTotem-only or nothing at all
Detection methodSmart getTrackedBy() desync analysisBlind chunk resend or none
Spam protectionPer-reason throttle, exemption, world scopeNone or a basic global cooldown
Folia supportFully supported via entity schedulerMost break on Folia
API & eventsBukkit ServicesManager API + 2 eventsNo API surface
Elytra preservationCaptures and restores gliding stateNot handled
Soft dependenciesCitizens, ModelEngine, Essentials, Vanish pluginsNone


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

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

ServerPaper 1.21, Java 21
DependenciesNone. All features work standalone.
Soft dependenciesPlaceholderAPI, Citizens, ModelEngine, Essentials, SuperVanish, PremiumVanish
Languagesen_US, pl_PL (extensible)
AnalyticsbStats, optional, toggle in config
ThreadingFolia-safe entity scheduler. Async detection, sync execution


Commands

CommandDescriptionPermission
/antighost infoShows plugin version, module statuses, and hook availabilitynone
/antighost reloadReloads config and language files without server restartantitotemghost.admin
/antighost refresh [player]Manually refreshes a player's tracker stateantitotemghost.refresh
/antighost fixallRefreshes all online players at onceantitotemghost.admin
/antighost stats [player]Displays per-reason fix statistics for a playerantitotemghost.stats
/antighost debug Shows live tracker state for debugging desync issuesantitotemghost.admin


Permissions

PermissionDescriptionDefault
antitotemghost.adminAccess to admin commands (reload, fixall, debug)op
antitotemghost.refreshManually refresh playersop
antitotemghost.statsView fix statisticstrue
antitotemghost.exemptPlayer is skipped by all AntiTotemGhost actionsfalse


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

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
453

Views

0

Purchases

0

Downloads

85.81 KB

File size

12.07.2026

Published

12.07.2026

Updated

Info
Supported software
Supported Versions
1.21 - 1.21.11
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