From b58cbd00bc5c0de388291726e8f90e022c14fc58 Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Fri, 1 Oct 2021 16:38:04 -0400 Subject: [PATCH] Fix edge case in removing below name objectives --- .../geysermc/connector/entity/player/PlayerEntity.java | 4 +++- .../scoreboard/JavaScoreboardObjectiveTranslator.java | 8 +++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connector/src/main/java/org/geysermc/connector/entity/player/PlayerEntity.java b/connector/src/main/java/org/geysermc/connector/entity/player/PlayerEntity.java index b43e020bc..85493660b 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/player/PlayerEntity.java +++ b/connector/src/main/java/org/geysermc/connector/entity/player/PlayerEntity.java @@ -355,7 +355,9 @@ public class PlayerEntity extends LivingEntity { session.sendUpstreamPacket(packet); } } else { - if (valid && metadata.remove(EntityData.SCORE_TAG) != null) { + // Always remove the score tag first, then check for valid. + // That way the score tag is removed if the player was spawned, then despawned, and is being respawned + if (metadata.remove(EntityData.SCORE_TAG) != null && valid) { SetEntityDataPacket packet = new SetEntityDataPacket(); packet.setRuntimeEntityId(geyserId); packet.getMetadata().put(EntityData.SCORE_TAG, ""); diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/scoreboard/JavaScoreboardObjectiveTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/scoreboard/JavaScoreboardObjectiveTranslator.java index fec000420..30ef6568d 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/scoreboard/JavaScoreboardObjectiveTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/scoreboard/JavaScoreboardObjectiveTranslator.java @@ -70,11 +70,9 @@ public class JavaScoreboardObjectiveTranslator extends PacketTranslator