Remove unneeded indirection in NBTType

ByteBufInputStream implements DataInput, ByteBufOutputStream implements DataOutput. Use them to exploit native Netty ByteBuf calls where possible.
This commit is contained in:
Andrew Steinborn 2019-12-11 23:51:39 -05:00
parent c1b11a55d5
commit a42e724f50

View File

@ -36,10 +36,7 @@ public class NBTType extends Type<CompoundTag> {
return null; return null;
} else { } else {
buffer.readerIndex(readerIndex); buffer.readerIndex(readerIndex);
ByteBufInputStream bytebufStream = new ByteBufInputStream(buffer); return (CompoundTag) NBTIO.readTag((DataInput) new ByteBufInputStream(buffer));
try (DataInputStream dataInputStream = new DataInputStream(bytebufStream)) {
return (CompoundTag) NBTIO.readTag((DataInput) dataInputStream);
}
} }
} }
@ -49,11 +46,7 @@ public class NBTType extends Type<CompoundTag> {
buffer.writeByte(0); buffer.writeByte(0);
} else { } else {
ByteBufOutputStream bytebufStream = new ByteBufOutputStream(buffer); ByteBufOutputStream bytebufStream = new ByteBufOutputStream(buffer);
DataOutputStream dataOutputStream = new DataOutputStream(bytebufStream); NBTIO.writeTag((DataOutput) bytebufStream, object);
NBTIO.writeTag((DataOutput) dataOutputStream, object);
dataOutputStream.close();
} }
} }
} }