From 07629a42c9226b75501010a2959c5377dffcc1d5 Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Wed, 15 Jan 2025 23:25:57 +0100 Subject: [PATCH] Only send the ServerboundClientTickEndPacket while in the GAME protocol state, make locale non-null Fixes https://github.com/GeyserMC/Geyser/issues/5278 --- .../main/java/org/geysermc/geyser/session/GeyserSession.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 111b966f79..f40dcfecc8 100644 --- a/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java +++ b/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java @@ -1180,7 +1180,7 @@ protected void tick() { this.bundleCache.tick(); - if (spawned) { + if (spawned && protocol.getOutboundState() == ProtocolState.GAME) { // Could move this to the PlayerAuthInput translator, in the event the player lags // but this will work once we implement matching Java custom tick cycles sendDownstreamGamePacket(ServerboundClientTickEndPacket.INSTANCE); @@ -1400,7 +1400,7 @@ public GeyserSession connection() { @Override public String locale() { - return clientData.getLanguageCode(); + return clientData != null ? clientData.getLanguageCode() : GeyserLocale.getDefaultLocale(); } @Override