From 5009ffbb5a3511daa02ba422681693fee128b582 Mon Sep 17 00:00:00 2001 From: Gerrygames Date: Fri, 8 May 2020 01:36:24 +0200 Subject: [PATCH] handle new window type in 1.16 --- .../packets/InventoryPackets.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java index 3fd86c30a..bb580856f 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java @@ -21,7 +21,24 @@ public class InventoryPackets { public static void register(Protocol protocol) { ItemRewriter itemRewriter = new ItemRewriter(protocol, InventoryPackets::toClient, InventoryPackets::toServer); - //Window Property + // Open Window + protocol.registerOutgoing(State.PLAY, 0x2F, 0x2F, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); + map(Type.VAR_INT); + map(Type.STRING); + + handler(wrapper -> { + int windowType = wrapper.get(Type.VAR_INT, 1); + if (windowType >= 20) { // smithing added with id 20 + wrapper.set(Type.VAR_INT, 1, ++windowType); + } + }); + } + }); + + // Window Property protocol.registerOutgoing(State.PLAY, 0x16, 0x16, new PacketRemapper() { @Override public void registerMap() {