@@ -23,7 +23,6 @@ public final class CraftScoreboardManager implements ScoreboardManager {
2323 private final CraftScoreboard mainScoreboard ;
2424 private final MinecraftServer server ;
2525 private final Collection <CraftScoreboard > scoreboards = new WeakCollection <>();
26- private final Map <CraftPlayer , CraftScoreboard > playerBoards = new HashMap <>();
2726
2827 public CraftScoreboardManager (MinecraftServer server , net .minecraft .world .scores .Scoreboard scoreboard ) {
2928 this .mainScoreboard = new CraftScoreboard (scoreboard );
@@ -54,7 +53,7 @@ public void registerScoreboardForVanilla(CraftScoreboard scoreboard) {
5453 }
5554
5655 public CraftScoreboard getPlayerBoard (CraftPlayer player ) {
57- CraftScoreboard board = this . playerBoards . get ( player );
56+ CraftScoreboard board = player . getScoreboardOverride ( );
5857 return board == null ? this .getMainScoreboard () : board ;
5958 }
6059
@@ -66,9 +65,9 @@ public void setPlayerBoard(CraftPlayer player, CraftScoreboard scoreboard) {
6665 }
6766
6867 if (scoreboard == this .mainScoreboard ) {
69- this . playerBoards . remove ( player );
68+ player . setScoreboardOverride ( null );
7069 } else {
71- this . playerBoards . put ( player , scoreboard );
70+ player . setScoreboardOverride ( scoreboard );
7271 }
7372
7473 ServerPlayer serverPlayer = player .getHandle ();
@@ -94,7 +93,7 @@ public void setPlayerBoard(CraftPlayer player, CraftScoreboard scoreboard) {
9493
9594 // CraftBukkit method
9695 public void removePlayer (CraftPlayer player ) {
97- this . playerBoards . remove ( player );
96+ player . setScoreboardOverride ( null );
9897 }
9998
10099 // CraftBukkit method
0 commit comments