Automatic cleanup watchdog – runs every 30 seconds (configurable via cleanup-interval) to scan all players, remove stuck infinite invisibility from non‑spectators, and force visibility restoration.
No more rare “invisible player” glitches.
Tab list fix – the cleanup task now forces showPlayer() between all online players, fixing cases where spectators (or other players) disappeared from the tab list or became permanently invisible.
Cleanup announcements – after each automatic (or manual) cleanup, the console receives a detailed log message, and all online OPs are notified in chat.
Example:
[BedWarsSpectatorFix] Cleanup: removed 2 stuck invis, fixed 3 visibility entries, reapplied fixes to 1 spectators.
New /bwsfix reload command – reloads config.yml and restarts the cleanup watchdog with the new interval. No server restart needed.
Added cleanup-interval (default: 30 seconds) to config.yml.
# How often (in seconds) to run full cleanup scan
cleanup-interval: 30
isTrueSpectator() and applySpectatorFixes() publicly – used by the watchdog to safely re‑apply fixes./bwsfix cleanup (permission bwsfix.cleanup) – same behaviour as the automatic task.Version 1.3 is the most reliable release yet – no more invisible ghosts, no tab list oddities, just silent and collision‑free spectators.

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.