From a9467cf150bf2f0af36849b6a47abd23db8be83b Mon Sep 17 00:00:00 2001 From: Kas-tle <26531652+Kas-tle@users.noreply.github.com> Date: Wed, 13 Mar 2024 02:54:39 -0700 Subject: [PATCH] Temporary bad fix for command crashing (#4490) Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com> --- .../java/org/geysermc/geyser/session/GeyserSession.java | 7 +++++++ .../translator/protocol/java/JavaCommandsTranslator.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java b/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java index 7a4a8ff6f..b95b5af8d 100644 --- a/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java +++ b/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java @@ -602,6 +602,13 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource { @Setter private @Nullable ItemData currentBook = null; + /** + * Stores if we've sent AvailibleCommandsPacket to the client due to it crashing if sent twice on 1.20.70/71 + * Hopefully bedrock will have a hotfix so we can remove this + */ + @Setter + private boolean sentAvailibleCommands = false; + private final GeyserCameraData cameraData; private final GeyserEntityData entityData; diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCommandsTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCommandsTranslator.java index 0d7f45c7d..7ded656dd 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCommandsTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCommandsTranslator.java @@ -46,6 +46,7 @@ import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.api.event.java.ServerDefineCommandsEvent; import org.geysermc.geyser.command.GeyserCommandManager; import org.geysermc.geyser.inventory.item.Enchantment; +import org.geysermc.geyser.network.GameProtocol; import org.geysermc.geyser.registry.BlockRegistries; import org.geysermc.geyser.registry.Registries; import org.geysermc.geyser.session.GeyserSession; @@ -115,6 +116,12 @@ public class JavaCommandsTranslator extends PacketTranslator commandData = new ArrayList<>(); @@ -191,6 +198,7 @@ public class JavaCommandsTranslator extends PacketTranslator