From 1a6b98decac9f1e58c4ebd26ca24ac70dfc12b5e Mon Sep 17 00:00:00 2001 From: Matsv Date: Sun, 25 Sep 2016 12:19:23 +0200 Subject: [PATCH] Cancel second-hand packets to prevent double interact Fix #502 --- .../protocols/protocol1_9to1_8/packets/EntityPackets.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/EntityPackets.java b/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/EntityPackets.java index fa53b14d5..45d77585a 100644 --- a/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/EntityPackets.java +++ b/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/EntityPackets.java @@ -318,6 +318,8 @@ public class EntityPackets { public void registerMap() { map(Type.VAR_INT); // 0 - Entity ID (Target) map(Type.VAR_INT); // 1 - Action Type + + // Cancel second hand to prevent double interact handler(new PacketHandler() { @Override public void handle(PacketWrapper wrapper) throws Exception { @@ -328,7 +330,10 @@ public class EntityPackets { wrapper.passthrough(Type.FLOAT); // 4 - Z } if (type == 0 || type == 2) { - wrapper.read(Type.VAR_INT); // 2/5 - Hand + int hand = wrapper.read(Type.VAR_INT); // 2/5 - Hand + + if (hand == 1) + wrapper.cancel(); } } });