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);