diff --git a/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_8Type.java b/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_8Type.java index 651b86e2f..cb46b8256 100644 --- a/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_8Type.java +++ b/src/main/java/us/myles/ViaVersion/api/type/types/version/Metadata1_8Type.java @@ -19,7 +19,9 @@ public class Metadata1_8Type extends MetaTypeTemplate { } @Override - public void write(ByteBuf buffer, Metadata object) throws Exception { - throw new UnsupportedOperationException("1.8 Metadata writing is not implemented!"); + public void write(ByteBuf buffer, Metadata meta) throws Exception { + byte item = (byte) (meta.getTypeID() << 5 | meta.getId() & 0x1F); + buffer.writeByte(item); + meta.getType().write(buffer, meta.getValue()); } } diff --git a/src/main/java/us/myles/ViaVersion/api/type/types/version/MetadataList1_8Type.java b/src/main/java/us/myles/ViaVersion/api/type/types/version/MetadataList1_8Type.java index 5e2810f11..5e8c6e5a1 100644 --- a/src/main/java/us/myles/ViaVersion/api/type/types/version/MetadataList1_8Type.java +++ b/src/main/java/us/myles/ViaVersion/api/type/types/version/MetadataList1_8Type.java @@ -25,6 +25,8 @@ public class MetadataList1_8Type extends MetaListTypeTemplate { @Override public void write(ByteBuf buffer, List object) throws Exception { - throw new UnsupportedOperationException("1.8 MetadataList writing is not implemented"); + for (Metadata data : object) + Types1_8.METADATA.write(buffer, data); + buffer.writeByte(127); } }