Fix team sidebar objectives not being cleared

Objectives displayed in team sidebars were not cleared when switching
scoreboards. If a player's scoreboard has a displayed objective for the
'gold' sidebar, and their scoreboard was switched to one where they
still had a 'gold' team, it would still be displayed
This commit is contained in:
Jake Potrebic 2023-09-23 22:31:54 -07:00
parent cfe07dca76
commit 48d9ecee25

View file

@ -87,8 +87,8 @@ public final class CraftScoreboardManager implements ScoreboardManager {
// Old objective tracking
HashSet<Objective> removed = new HashSet<>();
for (int i = 0; i < 3; ++i) {
Objective scoreboardobjective = oldboard.getDisplayObjective(net.minecraft.world.scores.DisplaySlot.BY_ID.apply(i));
for (net.minecraft.world.scores.DisplaySlot slot : net.minecraft.world.scores.DisplaySlot.values()) { // Paper - clear all display slots
Objective scoreboardobjective = oldboard.getDisplayObjective(slot); // Paper - clear all display slots
if (scoreboardobjective != null && !removed.contains(scoreboardobjective)) {
entityplayer.connection.send(new ClientboundSetObjectivePacket(scoreboardobjective, 1));
removed.add(scoreboardobjective);