aboutsummaryrefslogtreecommitdiff
path: root/azalea-buf/src/write.rs
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-buf/src/write.rs')
-rwxr-xr-xazalea-buf/src/write.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/azalea-buf/src/write.rs b/azalea-buf/src/write.rs
index f48bf2ec..03d40d79 100755
--- a/azalea-buf/src/write.rs
+++ b/azalea-buf/src/write.rs
@@ -257,3 +257,27 @@ impl<T: McBufWritable, const N: usize> McBufWritable for [T; N] {
Ok(())
}
}
+
+impl McBufWritable for simdnbt::owned::NbtTag {
+ fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+ let mut data = Vec::new();
+ self.write(&mut data);
+ data.write_into(buf)
+ }
+}
+
+impl McBufWritable for simdnbt::owned::NbtCompound {
+ fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+ let mut data = Vec::new();
+ simdnbt::owned::NbtTag::Compound(self.clone()).write(&mut data);
+ data.write_into(buf)
+ }
+}
+
+impl McBufWritable for simdnbt::owned::Nbt {
+ fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+ let mut data = Vec::new();
+ self.write_unnamed(&mut data);
+ data.write_into(buf)
+ }
+}