From 8bf230e057a1333bb42dd092e1dfefb3006d0cbd Mon Sep 17 00:00:00 2001 From: creeper123123321 Date: Thu, 23 Aug 2018 16:42:29 -0300 Subject: [PATCH] Rewrite arrow metadata and remove 0x10 metadata flag in 1.12.2 -> 1.13 --- .../protocols/protocol1_13_1to1_13/MetadataRewriter.java | 4 ++-- .../protocols/protocol1_13to1_12_2/MetadataRewriter.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/MetadataRewriter.java index 1180cc7f5..95ec608ea 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13_1to1_13/MetadataRewriter.java @@ -31,8 +31,8 @@ public class MetadataRewriter { int data = (int) metadata.getValue(); metadata.setValue(Protocol1_13_1To1_13.getNewBlockStateId(data)); } - if(type.is(EntityType.ITEM)){ - + if (type.isOrHasParent(EntityType.ABSTRACT_ARROW) && metadata.getId() >= 7) { + metadata.setId(metadata.getId() + 1); // New shooter UUID } } catch (Exception e) { metadatas.remove(metadata); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/MetadataRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/MetadataRewriter.java index 54196f66c..a838d96a1 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/MetadataRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/MetadataRewriter.java @@ -79,6 +79,11 @@ public class MetadataRewriter { if (metadata.getId() >= 9) metadatas.remove(metadata); // Remove } + + if (metadata.getId() == 0) { + metadata.setValue((byte) ((byte) metadata.getValue() & ~0x10)); // Previously unused, now swimming + } + // TODO: Boat has changed } catch (Exception e) { metadatas.remove(metadata);