diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/EntityPackets.java index b2d4d70a5..013f36b75 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/EntityPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16_2to1_16_1/packets/EntityPackets.java @@ -27,8 +27,11 @@ public class EntityPackets { public void registerMap() { map(Type.INT); // Entity ID handler(wrapper -> { - short gamemode = wrapper.passthrough(Type.UNSIGNED_BYTE); - wrapper.write(Type.BOOLEAN, (gamemode & 0x08) != 0); // Hardcore + short gamemode = wrapper.read(Type.UNSIGNED_BYTE); + boolean hardcore = (gamemode & 0x08) != 0; + gamemode &= ~0x08; + wrapper.write(Type.UNSIGNED_BYTE, gamemode); + wrapper.write(Type.BOOLEAN, hardcore); // Hardcore }); map(Type.UNSIGNED_BYTE); // Gamemode map(Type.BYTE); // Previous Gamemode