Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
What is Totem Ghosting? In PVP, a player might swap to a totem at the millisecond they are about to die. Because of ping/latency, their client shows the totem in their hand, but the server processes their death before the item swap packet arrives. So, the player dies while holding a totem, leading to unfair deaths.
The Solution This plugin tries to prevent this issue using an active scheduler.
When a player is about to die, the plugin checks their exact ping and scans the queue for item swaps. If a swap is detected from the client, the plugin dynamically cancels their death for a fraction of a second (usually 1–3 ticks, or 50–150ms). This gives the server enough time to process the swap, and after the delay we manually damage the player using the original death reason.
This does not prevent ghosting 100% as the player might still be able to 'ghost' if they put a totem in their main-hand or off-hand after the delay.
Features
Ping-Compensated: Controls the delay based on the player's ping. Good connections process instantly (1 tick), while laggy players get a fair delay.
Highly Optimized: Uses an active, asynchronous system to catch packets without having an impact on the server tps.
Fake Damage: We have to damage the player after the delay because we're cancelling the damage. This fake damage does not affect the armor of the player by not making the player take a lot of damage but by setting the player's health to a low amount and also damaging the player by a small amount, still ensuring the player dies or pops depending on if they have a totem.
Barely noticeable: The 50-150ms delay shouldn't be annoying or frustrating for players as it is only visual, and required to try to prevent ghosting.
Dependencies: PacketEvents (Required for item swap packets)


