YoyoNow 0ef702da9e Hide hulls from players by default in HullHider
Hull kept a set of affected players that was only filled by a join
listener active in the Schem states, so spectators joining earlier were
never hidden from the hull. The set was also a plain HashSet read on
netty threads, where a racing lookup meant "not hidden".

Invert it into a concurrent set of viewers (referees, own team, boarded
players); everyone else is hidden by default.

- Hull: viewer UUID set with addViewer/removeViewer/forgetViewer, a
  null player counts as hidden
- Hull: entities are hidden/shown when they enter/leave the hull for all
  non-viewer online players; uncovered blocks go to non-viewers
- HullHider: join/quit handled in a listener active in every state; quit
  clears the viewer entry
- HullHider: TeamDeathEvent re-hides the enemy hull and resends its chunks
- FightPlayer: stop the enter countdown before firing TeamDeathEvent so
  listeners see canEntern() == false
2026-10-27 09:23:31 +01:00
2026-06-12 10:02:34 +02:00
2026-05-21 12:11:40 +02:00
2026-10-19 11:21:15 +02:00
2026-07-05 14:39:20 +02:00
2026-05-16 23:08:09 +02:00
2026-08-30 12:15:22 +02:00
2026-05-17 10:12:22 +02:00
2026-09-01 10:32:56 +02:00
2026-05-17 10:08:06 +02:00
2026-10-19 09:31:38 +02:00
2025-11-30 16:12:52 +01:00
2026-05-16 23:08:09 +02:00
2024-08-04 18:52:11 +02:00
2024-08-04 18:52:11 +02:00
2024-08-04 18:52:11 +02:00
2025-12-19 21:20:32 +01:00
S
Description
No description provided
Readme
26 MiB
Languages
Java 91.5%
Kotlin 8.1%
Lua 0.3%