diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/BlockItemPacketRewriter1_20_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/BlockItemPacketRewriter1_20_2.java index cd8e6029c..1981113d2 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/BlockItemPacketRewriter1_20_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/BlockItemPacketRewriter1_20_2.java @@ -44,6 +44,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter { public static final String[] POTION_EFFECTS = { + "", // No effect "speed", "slowness", "haste", @@ -85,6 +86,13 @@ public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter { + if (wrapper.passthrough(Type.BOOLEAN)) { + // Effects start at 1 before 1.20.2 + wrapper.write(Type.VAR_INT, wrapper.read(Type.VAR_INT) + 1); + } + }); + protocol.registerClientbound(ClientboundPackets1_19_4.UNLOAD_CHUNK, wrapper -> { final int x = wrapper.read(Type.INT); final int z = wrapper.read(Type.INT); @@ -346,20 +354,19 @@ public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter= 0 && id < POTION_EFFECTS.length ? Key.namespaced(POTION_EFFECTS[id]) : "minecraft:speed"; + return id >= 1 && id < POTION_EFFECTS.length ? Key.namespaced(POTION_EFFECTS[id]) : "minecraft:luck"; } } \ No newline at end of file diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/EntityPacketRewriter1_20_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/EntityPacketRewriter1_20_2.java index 3bb7630a4..64e072f51 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/EntityPacketRewriter1_20_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/rewriter/EntityPacketRewriter1_20_2.java @@ -127,7 +127,7 @@ public final class EntityPacketRewriter1_20_2 extends EntityRewriter { wrapper.passthrough(Type.VAR_INT); // Entity id - wrapper.passthrough(Type.VAR_INT); // Effect id + wrapper.write(Type.VAR_INT, wrapper.read(Type.VAR_INT) - 1); // Effect id wrapper.passthrough(Type.BYTE); // Amplifier wrapper.passthrough(Type.VAR_INT); // Duration wrapper.passthrough(Type.BYTE); // Flags @@ -135,6 +135,11 @@ public final class EntityPacketRewriter1_20_2 extends EntityRewriter { + wrapper.passthrough(Type.VAR_INT); // Entity id + wrapper.write(Type.VAR_INT, wrapper.read(Type.VAR_INT) - 1); // Effect id + }); } @Override