From bb27c3b660dccc1559be98d9271b8edd19b37122 Mon Sep 17 00:00:00 2001 From: LT_Name <572413378@qq.com> Date: Sun, 5 Jul 2026 16:33:09 +0800 Subject: [PATCH] fix: netease v860 codec helper should inherit v844 for correct gamerule encoding NetEase 1.21.124 maps to vanilla v860, whose GameRulesChangedPacket serializes integer game rules with readIntLE/writeIntLE (introduced in BedrockCodecHelper_v844). The NetEase helper previously inherited from BedrockCodecHelper_v776, which fell back to the v440 implementation using VarInts.readUnsignedInt/writeUnsignedInt. This mismatch caused 'Invalid gamerule type received' when decoding any integer game rule (e.g. maxcommandchainlength), as the bytes were misinterpreted. Switch the parent to BedrockCodecHelper_v844 to align with vanilla v860/v844 behavior. The existing readLargeVarIntFlags overrides are preserved. --- .../codec/v860_netease/BedrockCodecHelper_v860_NetEase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v860_netease/BedrockCodecHelper_v860_NetEase.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v860_netease/BedrockCodecHelper_v860_NetEase.java index 1444cd44..a8799d8b 100644 --- a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v860_netease/BedrockCodecHelper_v860_NetEase.java +++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v860_netease/BedrockCodecHelper_v860_NetEase.java @@ -2,7 +2,7 @@ import io.netty.buffer.ByteBuf; import org.cloudburstmc.protocol.bedrock.codec.EntityDataTypeMap; -import org.cloudburstmc.protocol.bedrock.codec.v776.BedrockCodecHelper_v776; +import org.cloudburstmc.protocol.bedrock.codec.v844.BedrockCodecHelper_v844; import org.cloudburstmc.protocol.bedrock.data.Ability; import org.cloudburstmc.protocol.bedrock.data.PlayerAuthInputData; import org.cloudburstmc.protocol.bedrock.data.inventory.ContainerSlotType; @@ -14,7 +14,7 @@ import java.math.BigInteger; import java.util.Set; -public class BedrockCodecHelper_v860_NetEase extends BedrockCodecHelper_v776 { +public class BedrockCodecHelper_v860_NetEase extends BedrockCodecHelper_v844 { private static final int PLAYER_AUTH_INPUT_DATA_NETEASE = PlayerAuthInputData.RECEIVED_SERVER_DATA.ordinal() + 1; public BedrockCodecHelper_v860_NetEase(EntityDataTypeMap entityData, TypeMap> gameRulesTypes,