Completely eliminated false positives – normal players (including those using invisibility potions) will never become invisible or collision‑free.
The plugin now requires both arena.isSpectator(player) == true and !arena.getPlayers().contains(player) before applying any fix.
Fixed “stuck invisibility” after uninstalling – when the plugin is disabled or removed, spectators no longer stay permanently invisible.
Added a cleanup command /bwsfix cleanup that removes all infinite‑duration invisibility effects and restores visibility for everyone.
Emergency cleanup command – /bwsfix cleanup (permission: bwsfix.cleanup) instantly removes all effects added by this plugin.
Useful for manually recovering from any leftover invisibility.
Auto‑cleanup on disable – when the plugin shuts down, it automatically removes all its effects (configurable via auto-cleanup-on-disable).
Smart invisibility removal – the cleanup only removes invisibility effects that last longer than 1,000,000 ticks (i.e., the infinite ones added by this plugin).
Normal shop‑bought invisibility potions (duration ~1 minute) are not affected.
Added new options to config.yml:
# Automatically cleanup effects when plugin disables (recommended: true)
auto-cleanup-on-disable: true
Existing options (mute-effects, debug-mode, collision-refresh-interval) remain unchanged.
If you are upgrading from v1.1:
/bwsfix cleanup once to clean any leftover effects from the old version.Version 1.2 is the most stable release – no false positives, no residual invisibility, just a clean spectator experience.

Fixes Bedwars1058 spectator collision box, invisibility particles, and held item visibility while preserving spectator items (compass, etc.). Supports spectating players by clicking on them and properly resets when sneaking.