PartyPlaceholderSnapshot
Immutable per-viewer copies of party state for PlaceholderAPI, which scoreboard plugins often call off the main thread. The main thread rebuilds it every second from the party sidebar task and after every roster change, so placeholders never touch the party maps or Bukkit entities themselves.