From 0ada2496de59ccf776f29649b0f71ac52f0fcaab Mon Sep 17 00:00:00 2001 From: Matsv Date: Tue, 20 Mar 2018 15:55:27 +0100 Subject: [PATCH] Handle new Zombie metatag & change reset color to 21 (as documented on wiki.vg) --- .../us/myles/ViaVersion/api/entities/Entity1_13Types.java | 2 +- .../protocolsnapshotto1_12_2/MetadataRewriter.java | 8 ++++++-- .../ProtocolSnapshotTo1_12_2.java | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java index 635da29eb..9b27c189d 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java @@ -132,7 +132,7 @@ public class Entity1_13Types { SPIDER(68, ABSTRACT_MONSTER), // akc CAVE_SPIDER(6, SPIDER), // aje - // Zombies + // Zombies - META CHECKED ZOMBIE(86, ABSTRACT_MONSTER), // aki DROWNED(13, ZOMBIE), // ajg HUSK(29, ZOMBIE), // ajp diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/MetadataRewriter.java index 0240a4cd5..138cc606b 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/MetadataRewriter.java @@ -35,8 +35,7 @@ public class MetadataRewriter { if (metadata.getMetaType() == MetaType1_13.Slot) { metadata.setMetaType(MetaType1_13.Slot); InventoryPackets.toClient((Item) metadata.getValue()); - } - if (metadata.getMetaType() == MetaType1_13.BlockID) { + } else if (metadata.getMetaType() == MetaType1_13.BlockID) { // Convert to new block id metadata.setValue(WorldPackets.toNewId((int) metadata.getValue())); } @@ -50,6 +49,11 @@ public class MetadataRewriter { metadata.setValue(15 - (int) metadata.getValue()); } + // Handle new zombie meta (INDEX 15 - Boolean - Zombie is shaking while enabled) + if (type.isOrHasParent(Entity1_13Types.EntityType.ZOMBIE)) { + if (metadata.getId() > 14) + metadata.setId(metadata.getId() + 1); + } // Handle other changes if (type.is(Entity1_13Types.EntityType.AREA_EFFECT_CLOUD)) { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java index e93d0fc55..302840d60 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocolsnapshotto1_12_2/ProtocolSnapshotTo1_12_2.java @@ -308,8 +308,8 @@ public class ProtocolSnapshotTo1_12_2 extends Protocol { // Handle new colors byte color = wrapper.read(Type.BYTE); - if (color == -1) // -1 is no longer active, use white instead - wrapper.write(Type.VAR_INT, 15); + if (color == -1) // -1 changed to 21 + wrapper.write(Type.VAR_INT, 21); // RESET else wrapper.write(Type.VAR_INT, (int) color);