Anti Shield Ghost v1.2

Eliminates Ghost Shields And Blocking State Desync Fix

Anti Shield Ghost


AntiShieldGhost
Eliminates Ghost Shields. Blocking State Desync Fix.

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

Block Start / End Fix Shield Equip / Unequip Fix Folia Support Paper 1.21.x - 26.2 API + Events

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



What AntiShieldGhost Solves



Minecraft's client-server model has a known weakness: the blocking state is part of the living-entity metadata plus the arm pose, and after a shield state change the server and clients can disagree on that metadata. Other clients see a ghost shield - raised when it is not, or missing while the player is actively blocking (Mojira MC-304423, MC-86252). Opponents cannot tell when the shield is actually up.

AntiShieldGhost fixes this. It detects every blocking-state transition - start, end, and shield equip/unequip - and re-renders the player entity to every viewer. The result is a shield that always looks correct for everyone.



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


Three Fix Triggers. Independently Configurable.

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


Block Start
  • Detected instantly on damage while blocking, so viewers see the raised shield immediately (Mojira MC-304423).


Block End
  • Detected by a small periodic state scanner (Bukkit has no "stopped blocking" event), clearing the stuck raised-shield desync (Mojira MC-86252).


Shield Equip / Unequip
  • Detected by the same scanner when a shield is put on or taken off the offhand.



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


Core Systems


Reliable Re-render
  • Uses Paper's getTrackedBy() API to hide and re-show the player to every viewer
  • Scheduled on the viewer's own region thread - cross-region and Folia safe
  • Also refreshes the surrounding chunks and the player's inventory


State Tracker with Anti-Spam
  • Deduplicates transitions - one refresh per actual state change
  • Anti-spam window prevents flicker from rapid block toggling
  • Cleans up automatically on player quit


Throttle System
  • Per-reason minimum ticks between fixes for the same player+reason pair
  • Prevents spam from rapid blocking


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


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 /antishieldghost stats
  • Optional persistence to file on a configurable interval
  • PlaceholderAPI expansion for scoreboards and holograms


Developer API
  • AntiShieldGhostAPI registered via Bukkit ServicesManager for easy access
  • GhostFixEvent - cancellable, fired before a fix. Let other plugins veto fixes
  • GhostFixedEvent - fired after a fix completes
  • 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 AntiShieldGhost Compares


 

Feature AntiShieldGhost Manual / Simple Plugins
Trigger coverage Block start, block end, equip/unequip Blocking only or nothing
Fix method getTrackedBy() hide/show re-render + chunk refresh Blind chunk resend or none
Spam protection Per-reason throttle, anti-spam toggle, 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
NPC handling Citizens and ModelEngine auto-skip Not handled





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


Who This Is For


  • PvP servers Shield timing decides fights. A ghost shield is a lost duel. AntiShieldGhost keeps blocking state correct for every opponent.
  • Survival and SMP Players shielding against mobs will never look like they are open when they are actually blocking.
  • Network owners Works on any server running Paper 1.21.x through 26.2. Full /antishieldghost reload support, Folia-compatible out of the box. Works alongside any other plugin.



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


Technical Specs


 

Server Paper 1.21.x - 26.2, Java 25
Dependencies None. All features work standalone.
Soft dependencies PlaceholderAPI, Citizens, ModelEngine
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
/antishieldghost info Shows plugin version, module status, and hook availability none
/antishieldghost reload Reloads config and language files without server restart antishieldghost.admin
/antishieldghost refresh [player] Manually refreshes a player's tracker state antishieldghost.refresh
/antishieldghost fixall Refreshes all online players at once antishieldghost.admin
/antishieldghost stats [player] Displays per-reason fix statistics for a player antishieldghost.stats
/antishieldghost debug Shows live tracker state for debugging desync issues antishieldghost.admin




Permissions

 

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





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



Get AntiShieldGhost

Ghost shields are not a client-side issue. They are a server-side desync with a server-side fix.

Three triggers. Reliable re-render. Zero ghost shields. One plugin.

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

Related Products (1)

Anti Totem Ghost
Anti Totem Ghost
Creator Premium
Creator Premium
bishyy
The definitive ghost-player fix for Your server
(0)
0 Sales
€4.99
Product Info
Statistics
1

Views

0

Purchases

0

Downloads

76.72 KB

File size

31.08.2026

Published

31.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 Shield Ghost
Anti Shield Ghost