From 3761ebf8c7f25d20c33a44f53d167c1ca02ab1a3 Mon Sep 17 00:00:00 2001 From: creeper123123321 <7974274+creeper123123321@users.noreply.github.com> Date: Mon, 4 Nov 2019 17:36:16 -0300 Subject: [PATCH 01/10] Pot handler rewrite --- .../blockentities/FlowerPotHandler.java | 89 ++++++++++--------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/FlowerPotHandler.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/FlowerPotHandler.java index 244afae94..47fa806f9 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/FlowerPotHandler.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/FlowerPotHandler.java @@ -2,7 +2,6 @@ package us.myles.ViaVersion.protocols.protocol1_13to1_12_2.providers.blockentiti import com.github.steveice10.opennbt.tag.builtin.CompoundTag; import us.myles.ViaVersion.api.Pair; -import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.providers.BlockEntityProvider; @@ -10,62 +9,66 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class FlowerPotHandler implements BlockEntityProvider.BlockEntityHandler { - private static final Map, Integer> flowers = new ConcurrentHashMap<>(); - private static final Map, Integer> flowersNumberId = new ConcurrentHashMap<>(); + // Object -> string (id without namespace) or byte (numeric id) + private static final Map, Integer> flowers = new ConcurrentHashMap<>(); static { - register("minecraft:air", (byte) 0, (byte) 0, 5265); - register("minecraft:sapling", (byte) 6, (byte) 0, 5266); - register("minecraft:sapling", (byte) 6, (byte) 1, 5267); - register("minecraft:sapling", (byte) 6, (byte) 2, 5268); - register("minecraft:sapling", (byte) 6, (byte) 3, 5269); - register("minecraft:sapling", (byte) 6, (byte) 4, 5270); - register("minecraft:sapling", (byte) 6, (byte) 5, 5271); - register("minecraft:tallgrass", (byte) 31, (byte) 2, 5272); - register("minecraft:yellow_flower", (byte) 37, (byte) 0, 5273); - register("minecraft:red_flower", (byte) 38, (byte) 0, 5274); - register("minecraft:red_flower", (byte) 38, (byte) 1, 5275); - register("minecraft:red_flower", (byte) 38, (byte) 2, 5276); - register("minecraft:red_flower", (byte) 38, (byte) 3, 5277); - register("minecraft:red_flower", (byte) 38, (byte) 4, 5278); - register("minecraft:red_flower", (byte) 38, (byte) 5, 5279); - register("minecraft:red_flower", (byte) 38, (byte) 6, 5280); - register("minecraft:red_flower", (byte) 38, (byte) 7, 5281); - register("minecraft:red_flower", (byte) 38, (byte) 8, 5282); - register("minecraft:red_mushroom", (byte) 40, (byte) 0, 5283); - register("minecraft:brown_mushroom", (byte) 39, (byte) 0, 5284); - register("minecraft:deadbush", (byte) 32, (byte) 0, 5285); - register("minecraft:cactus", (byte) 81, (byte) 0, 5286); + register("air", (byte) 0, (byte) 0, 5265); + register("sapling", (byte) 6, (byte) 0, 5266); + register("sapling", (byte) 6, (byte) 1, 5267); + register("sapling", (byte) 6, (byte) 2, 5268); + register("sapling", (byte) 6, (byte) 3, 5269); + register("sapling", (byte) 6, (byte) 4, 5270); + register("sapling", (byte) 6, (byte) 5, 5271); + register("tallgrass", (byte) 31, (byte) 2, 5272); + register("yellow_flower", (byte) 37, (byte) 0, 5273); + register("red_flower", (byte) 38, (byte) 0, 5274); + register("red_flower", (byte) 38, (byte) 1, 5275); + register("red_flower", (byte) 38, (byte) 2, 5276); + register("red_flower", (byte) 38, (byte) 3, 5277); + register("red_flower", (byte) 38, (byte) 4, 5278); + register("red_flower", (byte) 38, (byte) 5, 5279); + register("red_flower", (byte) 38, (byte) 6, 5280); + register("red_flower", (byte) 38, (byte) 7, 5281); + register("red_flower", (byte) 38, (byte) 8, 5282); + register("red_mushroom", (byte) 40, (byte) 0, 5283); + register("brown_mushroom", (byte) 39, (byte) 0, 5284); + register("deadbush", (byte) 32, (byte) 0, 5285); + register("cactus", (byte) 81, (byte) 0, 5286); } public static void register(String identifier, byte numbericBlockId, byte blockData, int newId) { flowers.put(new Pair<>(identifier, blockData), newId); - flowersNumberId.put(new Pair<>(numbericBlockId, blockData), newId); + flowers.put(new Pair<>(numbericBlockId, blockData), newId); } @Override public int transform(UserConnection user, CompoundTag tag) { - Object item = tag.get("Item").getValue(); - byte data = ((Number) tag.get("Data").getValue()).byteValue(); + Object item = tag.contains("Item") ? tag.get("Item").getValue() : null; + Object data = tag.contains("Data") ? tag.get("Data").getValue() : null; - Pair pair = item instanceof Number - ? new Pair<>(((Number) item).byteValue(), data) - : new Pair<>((String) item, data); - - // Return air on empty string - if (item instanceof String && ((String) item).isEmpty()) - return 5265; - else if (flowers.containsKey(pair)) { - return flowers.get(pair); - } else if (flowersNumberId.containsKey(pair)) { - return flowersNumberId.get(pair); + // Convert item to String without namespace or to Byte + if (item instanceof String) { + item = ((String) item).replace("minecraft:", ""); + } else if (item instanceof Number) { + item = ((Number) item).byteValue(); } else { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("Could not find flowerpot content " + item + " for " + tag); - } + item = (byte) 0; } - return -1; + // Convert data to Byte + if (data instanceof Number) { + data = ((Number) data).byteValue(); + } else { + data = (byte) 0; + } + + Integer flower = flowers.get(new Pair<>(item, (byte) data)); + if (flower != null) return flower; + flower = flowers.get(new Pair<>(item, (byte) 0)); + if (flower != null) return flower; + + return 5265; // Fallback to empty pot } } From a8a33a3a2b487def4af795791f49bc16e92d6817 Mon Sep 17 00:00:00 2001 From: creeper123123321 <7974274+creeper123123321@users.noreply.github.com> Date: Sun, 24 Nov 2019 09:04:37 -0300 Subject: [PATCH 02/10] add exception for wrong protocol --- .../main/java/us/myles/ViaVersion/api/PacketWrapper.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java b/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java index 29f583064..950bbfac8 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java +++ b/common/src/main/java/us/myles/ViaVersion/api/PacketWrapper.java @@ -18,10 +18,7 @@ import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.util.PipelineUtil; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; +import java.util.*; public class PacketWrapper { public static final int PASSTHROUGH_ID = 1000; @@ -326,13 +323,14 @@ public class PacketWrapper { // Other way if outgoing Collections.reverse(protocols); } - int index = 0; + int index = -1; for (int i = 0; i < protocols.size(); i++) { if (protocols.get(i).getClass().equals(packetProtocol)) { index = skipCurrentPipeline ? (i + 1) : (i); break; } } + if (index == -1) throw new NoSuchElementException(packetProtocol.getCanonicalName()); // Reset reader before we start resetReader(); From ea045e6c340edab8feb8610c4c987bb013e4552e Mon Sep 17 00:00:00 2001 From: Gerrygames Date: Mon, 9 Dec 2019 13:48:06 +0100 Subject: [PATCH 03/10] 1.15-pre7 --- bukkit/pom.xml | 2 +- bungee/pom.xml | 2 +- common/pom.xml | 2 +- .../java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java | 2 +- jar/pom.xml | 2 +- pom.xml | 2 +- sponge-legacy/pom.xml | 2 +- sponge/pom.xml | 2 +- velocity/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 78aac38b2..f4e3269f1 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 diff --git a/bungee/pom.xml b/bungee/pom.xml index 258f0ed7e..1120d443c 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 diff --git a/common/pom.xml b/common/pom.xml index e73ea1541..513b5a877 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java index acc290e29..2b169d9af 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java @@ -77,7 +77,7 @@ public class ProtocolVersion { register(v1_14_2 = new ProtocolVersion(485, "1.14.2")); register(v1_14_3 = new ProtocolVersion(490, "1.14.3")); register(v1_14_4 = new ProtocolVersion(498, "1.14.4")); - register(v1_15 = new ProtocolVersion(571, "1.15")); + register(v1_15 = new ProtocolVersion(572, "1.15")); register(unknown = new ProtocolVersion(-1, "UNKNOWN")); } diff --git a/jar/pom.xml b/jar/pom.xml index 41bee2049..de788155c 100644 --- a/jar/pom.xml +++ b/jar/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 viaversion-jar diff --git a/pom.xml b/pom.xml index 094dfa836..1031dcb14 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ us.myles viaversion-parent - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 pom viaversion-parent diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml index fbb08d199..2f89d2671 100644 --- a/sponge-legacy/pom.xml +++ b/sponge-legacy/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 diff --git a/sponge/pom.xml b/sponge/pom.xml index 3bf75f9fe..5b23a7959 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 diff --git a/velocity/pom.xml b/velocity/pom.xml index 7fa346a0c..f828b8e20 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre6 + 2.1.4-1.15-pre7 4.0.0 From 44a3108982ce797b22559271f38a23b9317afbfd Mon Sep 17 00:00:00 2001 From: Gerrygames Date: Mon, 9 Dec 2019 19:24:18 +0100 Subject: [PATCH 04/10] fix wrong import - #1560 --- .../protocols/protocol1_15to1_14_4/packets/WorldPackets.java | 1 - 1 file changed, 1 deletion(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java index 081ca09d7..8af19e2b0 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java @@ -9,7 +9,6 @@ import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.packets.State; -import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; From 9dae40f4555b170252f129ac079318178694d31c Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Mon, 9 Dec 2019 19:30:09 +0100 Subject: [PATCH 05/10] Fix trade list --- .../protocols/protocol1_15to1_14_4/packets/InventoryPackets.java | 1 + 1 file changed, 1 insertion(+) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java index efa714838..c85305fee 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/InventoryPackets.java @@ -59,6 +59,7 @@ public class InventoryPackets { wrapper.passthrough(Type.INT); wrapper.passthrough(Type.INT); wrapper.passthrough(Type.FLOAT); + wrapper.passthrough(Type.INT); } wrapper.passthrough(Type.VAR_INT); From c85d4224ad8bfced3208563e32366bc2fb016af2 Mon Sep 17 00:00:00 2001 From: Myles Date: Tue, 10 Dec 2019 15:29:26 +0000 Subject: [PATCH 06/10] 1.15 protocol + 2.2.0 --- bukkit/pom.xml | 2 +- bungee/pom.xml | 2 +- common/pom.xml | 2 +- .../java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java | 2 +- jar/pom.xml | 2 +- pom.xml | 2 +- sponge-legacy/pom.xml | 2 +- sponge/pom.xml | 2 +- velocity/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bukkit/pom.xml b/bukkit/pom.xml index f4e3269f1..1f0403bb9 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 diff --git a/bungee/pom.xml b/bungee/pom.xml index 1120d443c..56af38100 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 diff --git a/common/pom.xml b/common/pom.xml index 513b5a877..75d22ce8a 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java index 2b169d9af..b52793bcb 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java @@ -77,7 +77,7 @@ public class ProtocolVersion { register(v1_14_2 = new ProtocolVersion(485, "1.14.2")); register(v1_14_3 = new ProtocolVersion(490, "1.14.3")); register(v1_14_4 = new ProtocolVersion(498, "1.14.4")); - register(v1_15 = new ProtocolVersion(572, "1.15")); + register(v1_15 = new ProtocolVersion(573, "1.15")); register(unknown = new ProtocolVersion(-1, "UNKNOWN")); } diff --git a/jar/pom.xml b/jar/pom.xml index de788155c..8d2c4c9c6 100644 --- a/jar/pom.xml +++ b/jar/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 viaversion-jar diff --git a/pom.xml b/pom.xml index 1031dcb14..9af66df45 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ us.myles viaversion-parent - 2.1.4-1.15-pre7 + 2.2.0 pom viaversion-parent diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml index 2f89d2671..0f181c313 100644 --- a/sponge-legacy/pom.xml +++ b/sponge-legacy/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 diff --git a/sponge/pom.xml b/sponge/pom.xml index 5b23a7959..ba691091b 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 diff --git a/velocity/pom.xml b/velocity/pom.xml index f828b8e20..5d46e104f 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.1.4-1.15-pre7 + 2.2.0 4.0.0 From 2c95a1e71c67fb678a8edc86ebd4ebcb132bcd6e Mon Sep 17 00:00:00 2001 From: Myles Date: Tue, 10 Dec 2019 15:29:52 +0000 Subject: [PATCH 07/10] README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8440ced50..50ced6ad7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ViaVersion 2.1.3 - Spigot, Sponge, BungeeCord, Velocity +# ViaVersion 2.2.0 - Spigot, Sponge, BungeeCord, Velocity [![Build Status](https://travis-ci.com/ViaVersion/ViaVersion.svg?branch=master)](https://travis-ci.com/ViaVersion/ViaVersion) [![Discord](https://img.shields.io/badge/chat-on%20discord-blue.svg)](https://viaversion.com/discord) From 68ac978d4580b1c038f83a153e83d7adaa1bc61c Mon Sep 17 00:00:00 2001 From: Myles Date: Tue, 10 Dec 2019 15:34:42 +0000 Subject: [PATCH 08/10] Back to SNAPSHOT --- bukkit/pom.xml | 2 +- bungee/pom.xml | 2 +- common/pom.xml | 2 +- jar/pom.xml | 2 +- pom.xml | 2 +- sponge-legacy/pom.xml | 2 +- sponge/pom.xml | 2 +- velocity/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 1f0403bb9..4ba8705a6 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 diff --git a/bungee/pom.xml b/bungee/pom.xml index 56af38100..578e79a97 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 diff --git a/common/pom.xml b/common/pom.xml index 75d22ce8a..d20e57b4a 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 diff --git a/jar/pom.xml b/jar/pom.xml index 8d2c4c9c6..441b1ab7d 100644 --- a/jar/pom.xml +++ b/jar/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 viaversion-jar diff --git a/pom.xml b/pom.xml index 9af66df45..1db37c004 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ us.myles viaversion-parent - 2.2.0 + 2.2.1-SNAPSHOT pom viaversion-parent diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml index 0f181c313..a4c2c71a8 100644 --- a/sponge-legacy/pom.xml +++ b/sponge-legacy/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 diff --git a/sponge/pom.xml b/sponge/pom.xml index ba691091b..6fd4222d3 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 diff --git a/velocity/pom.xml b/velocity/pom.xml index 5d46e104f..524b77df1 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -5,7 +5,7 @@ viaversion-parent us.myles - 2.2.0 + 2.2.1-SNAPSHOT 4.0.0 From 84624a488415787a957b3e623fcf67b6de138f91 Mon Sep 17 00:00:00 2001 From: Gerrygames Date: Wed, 11 Dec 2019 02:00:51 +0100 Subject: [PATCH 09/10] fix entity metadata in spawn packet being ignored --- .../packets/EntityPackets.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java index 582a3d93f..f546b710f 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/EntityPackets.java @@ -3,6 +3,7 @@ package us.myles.ViaVersion.protocols.protocol1_15to1_14_4.packets; import com.google.common.base.Optional; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.entities.Entity1_15Types; +import us.myles.ViaVersion.api.minecraft.metadata.Metadata; import us.myles.ViaVersion.api.protocol.Protocol; import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; @@ -13,6 +14,7 @@ import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.MetadataRewriter; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.Protocol1_15To1_14_4; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.storage.EntityTracker; +import java.util.List; import java.util.UUID; public class EntityPackets { @@ -72,7 +74,6 @@ public class EntityPackets { map(Type.SHORT); // 9 - Velocity X map(Type.SHORT); // 10 - Velocity Y map(Type.SHORT); // 11 - Velocity Z - map(Types1_14.METADATA_LIST, Type.NOTHING); // removed - probably sent in an update packet? handler(new PacketHandler() { @Override @@ -82,6 +83,13 @@ public class EntityPackets { Entity1_15Types.EntityType entityType = Entity1_15Types.getTypeFromId(getNewEntityId(typeId)); wrapper.user().get(EntityTracker.class).addEntity(entityId, entityType); wrapper.set(Type.VAR_INT, 1, entityType.getId()); + + List metadata = wrapper.read(Types1_14.METADATA_LIST); + MetadataRewriter.handleMetadata(entityId, entityType, metadata, wrapper.user()); + PacketWrapper metadataUpdate = wrapper.create(0x44); + metadataUpdate.write(Type.VAR_INT, entityId); + metadataUpdate.write(Types1_14.METADATA_LIST, metadata); + metadataUpdate.send(Protocol1_15To1_14_4.class); } }); } @@ -98,15 +106,20 @@ public class EntityPackets { map(Type.DOUBLE); // 4 - Z map(Type.BYTE); // 5 - Yaw map(Type.BYTE); // 6 - Pitch - map(Types1_14.METADATA_LIST, Type.NOTHING); // removed - probably sent in an update packet? handler(new PacketHandler() { @Override public void handle(PacketWrapper wrapper) throws Exception { int entityId = wrapper.get(Type.VAR_INT, 0); - Entity1_15Types.EntityType entityType = Entity1_15Types.EntityType.PLAYER; wrapper.user().get(EntityTracker.class).addEntity(entityId, entityType); + + List metadata = wrapper.read(Types1_14.METADATA_LIST); + MetadataRewriter.handleMetadata(entityId, entityType, metadata, wrapper.user()); + PacketWrapper metadataUpdate = wrapper.create(0x44); + metadataUpdate.write(Type.VAR_INT, entityId); + metadataUpdate.write(Types1_14.METADATA_LIST, metadata); + metadataUpdate.send(Protocol1_15To1_14_4.class); } }); } From dfbe2e9739852e57f82822a7bf1effabbab9ecc7 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 11 Dec 2019 09:30:51 +0100 Subject: [PATCH 10/10] Fix acknowledge digging Fixes #1564 --- .../Protocol1_15To1_14_4.java | 3 --- .../packets/WorldPackets.java | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java index b098fdb97..80904747c 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java @@ -233,9 +233,6 @@ public class Protocol1_15To1_14_4 extends Protocol { registerOutgoing(State.PLAY, 0x58, 0x59); registerOutgoing(State.PLAY, 0x59, 0x5A); - - - registerOutgoing(State.PLAY, 0x5C, 0x08); } public static int getNewSoundId(int id) { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java index 8af19e2b0..77cd2cf22 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java @@ -17,6 +17,22 @@ import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class WorldPackets { public static void register(Protocol protocol) { + // Acknowledge player digging + protocol.registerOutgoing(State.PLAY, 0x5C, 0x08, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.POSITION1_14); + map(Type.VAR_INT); + handler(new PacketHandler() { + @Override + public void handle(PacketWrapper wrapper) throws Exception { + int blockState = wrapper.get(Type.VAR_INT, 0); + wrapper.set(Type.VAR_INT, 0, Protocol1_15To1_14_4.getNewBlockStateId(blockState)); + } + }); + } + }); + // Block Action protocol.registerOutgoing(State.PLAY, 0x0A, 0x0B, new PacketRemapper() { @Override