From acb960bfdf1a5bf09ebb9a6492b7c211092fa15f Mon Sep 17 00:00:00 2001 From: Matsv Date: Tue, 20 Mar 2018 16:56:32 +0100 Subject: [PATCH] Transform Minecart metadata (9) to the new block format --- .../protocolsnapshotto1_12_2/MetadataRewriter.java | 9 +++++++++ 1 file changed, 9 insertions(+) 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 138cc606b..eb2fcd069 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 @@ -55,6 +55,15 @@ public class MetadataRewriter { metadata.setId(metadata.getId() + 1); } + // Handle Minecart inner block + if (type.isOrHasParent(Entity1_13Types.EntityType.MINECART_ABSTRACT) && metadata.getId() == 9) { + // New block format + int oldId = (int) metadata.getValue(); + int combined = (((oldId & 4095) << 4) | (oldId >> 12 & 15)); + int newId = WorldPackets.toNewId(combined); + metadata.setValue(newId); + } + // Handle other changes if (type.is(Entity1_13Types.EntityType.AREA_EFFECT_CLOUD)) { if (metadata.getId() == 9 || metadata.getId() == 10 || metadata.getId() == 11) {