From cc82f4b871bbdcd2f68a71ceac395d4be770f177 Mon Sep 17 00:00:00 2001 From: Konicai <71294714+Konicai@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:08:41 -0400 Subject: [PATCH] Fix bounding box for 1.19.40 after death + respawn (#3374) Co-authored-by: onebeastchris <105284508+onebeastchris@users.noreply.github.com> --- .../geyser/entity/type/player/SessionPlayerEntity.java | 10 ++++++++++ .../bedrock/entity/player/BedrockActionTranslator.java | 3 +++ 2 files changed, 13 insertions(+) diff --git a/core/src/main/java/org/geysermc/geyser/entity/type/player/SessionPlayerEntity.java b/core/src/main/java/org/geysermc/geyser/entity/type/player/SessionPlayerEntity.java index 7a5d34973..74b95b73c 100644 --- a/core/src/main/java/org/geysermc/geyser/entity/type/player/SessionPlayerEntity.java +++ b/core/src/main/java/org/geysermc/geyser/entity/type/player/SessionPlayerEntity.java @@ -120,6 +120,16 @@ public class SessionPlayerEntity extends PlayerEntity { refreshSpeed = true; } + /** + * Since 1.19.40, the client must be re-informed of its bounding box on respawn + * See https://github.com/GeyserMC/Geyser/issues/3370 + */ + public void updateBoundingBox() { + dirtyMetadata.put(EntityData.BOUNDING_BOX_HEIGHT, getBoundingBoxHeight()); + dirtyMetadata.put(EntityData.BOUNDING_BOX_WIDTH, getBoundingBoxWidth()); + updateBedrockMetadata(); + } + @Override public boolean setBoundingBoxHeight(float height) { if (super.setBoundingBoxHeight(height)) { diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/entity/player/BedrockActionTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/entity/player/BedrockActionTranslator.java index 72f064a55..c728390d6 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/entity/player/BedrockActionTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/entity/player/BedrockActionTranslator.java @@ -75,6 +75,9 @@ public class BedrockActionTranslator extends PacketTranslator