Package net.minecraft.nbt
Class NbtIo
java.lang.Object
net.minecraft.nbt.NbtIo
A set of utility functions for reading, writing, and scanning NBT files.
Methods that do not require
NbtTagSizeTracker accept any bytes of data,
provided that its depth does not exceed 512.- Mappings:
Namespace Name official smintermediary net/minecraft/class_2507named net/minecraft/nbt/NbtIo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static DataInputStreamdecompress(InputStream stream) Returns a new input stream that decompresses the inputstream.static NbtElementread(DataInput input, NbtTagSizeTracker tracker) Reads an NBT element frominput.static @Nullable NbtCompoundReads an NBT compound fromfile.static NbtCompoundreadCompound(DataInput input) Reads an NBT compound frominput.static NbtCompoundreadCompound(DataInput input, NbtTagSizeTracker tracker) Reads an NBT compound frominput.static NbtCompoundreadCompressed(File file, NbtTagSizeTracker tagSizeTracker) Reads an NBT compound from Gzip-compressedfile.static NbtCompoundreadCompressed(InputStream stream, NbtTagSizeTracker tagSizeTracker) Reads an NBT compound from Gzip-compressedstream.private static NbtElementreadElement(DataInput input, NbtTagSizeTracker tracker) private static NbtElementreadElement(DataInput input, NbtTagSizeTracker tracker, byte typeId) static voidscan(DataInput input, NbtScanner scanner, NbtTagSizeTracker tracker) Scans the NBT input usingscanner.static voidscanCompressed(File file, NbtScanner scanner, NbtTagSizeTracker tracker) Scans the compressed NBT file usingscanner.static voidscanCompressed(InputStream stream, NbtScanner scanner, NbtTagSizeTracker tracker) Scans the compressed NBT stream usingscanner.static byte[]toBytes(NbtCompound nbt) Returns the byte array serialization ofnbt.static byte[]Returns the compressed byte array serialization ofnbt.static voidwrite(NbtCompound nbt, File file) Writes thenbttofile.static voidwrite(NbtElement nbt, DataOutput output) Writes thenbttooutput.static voidwriteCompound(NbtCompound nbt, DataOutput output) Writes thenbttooutput.static voidwriteCompressed(NbtCompound nbt, File file) Writes the Gzip-compressednbttofile.static voidwriteCompressed(NbtCompound nbt, OutputStream stream) Writes the Gzip-compressednbttostream.static voidwriteForPacket(NbtElement nbt, DataOutput output) Writes thenbttooutput.
-
Constructor Details
-
NbtIo
public NbtIo()
-
-
Method Details
-
readCompressed
public static NbtCompound readCompressed(File file, NbtTagSizeTracker tagSizeTracker) throws IOException Reads an NBT compound from Gzip-compressedfile.- Returns:
- the NBT compound from the file
- Throws:
IOException- if the IO operation fails or if the root NBT element is not a compoundNbtSizeValidationException- if the NBT is too deep- See Also:
- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/File;Lsi;)Lrz;intermediary method_30613Lnet/minecraft/class_2507;method_30613(Ljava/io/File;Lnet/minecraft/class_2505;)Lnet/minecraft/class_2487;named readCompressedLnet/minecraft/nbt/NbtIo;readCompressed(Ljava/io/File;Lnet/minecraft/nbt/NbtTagSizeTracker;)Lnet/minecraft/nbt/NbtCompound;
-
decompress
Returns a new input stream that decompresses the inputstream.- Returns:
- a new input stream that decompresses the input
stream - Throws:
IOException- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/InputStream;)Ljava/io/DataInputStream;intermediary method_40059Lnet/minecraft/class_2507;method_40059(Ljava/io/InputStream;)Ljava/io/DataInputStream;named decompressLnet/minecraft/nbt/NbtIo;decompress(Ljava/io/InputStream;)Ljava/io/DataInputStream;
-
readCompressed
public static NbtCompound readCompressed(InputStream stream, NbtTagSizeTracker tagSizeTracker) throws IOException Reads an NBT compound from Gzip-compressedstream.- Returns:
- the NBT compound from the stream
- Throws:
IOException- if the IO operation fails or if the root NBT element is not a compoundNbtSizeValidationException- if the NBT is too deep- See Also:
- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/InputStream;Lsi;)Lrz;intermediary method_10629Lnet/minecraft/class_2507;method_10629(Ljava/io/InputStream;Lnet/minecraft/class_2505;)Lnet/minecraft/class_2487;named readCompressedLnet/minecraft/nbt/NbtIo;readCompressed(Ljava/io/InputStream;Lnet/minecraft/nbt/NbtTagSizeTracker;)Lnet/minecraft/nbt/NbtCompound;
-
scanCompressed
public static void scanCompressed(File file, NbtScanner scanner, NbtTagSizeTracker tracker) throws IOException Scans the compressed NBT file usingscanner.- Throws:
IOException- if the IO operation failsNbtSizeValidationException- if thetracker's validation fails- See Also:
- API Note:
- This method does not return the scan result; the user is expected
to call the appropriate method of the
NbtScannersubclasses, such asNbtCollector.getRoot(). - Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/File;Lst;Lsi;)Vintermediary method_40057Lnet/minecraft/class_2507;method_40057(Ljava/io/File;Lnet/minecraft/class_6836;Lnet/minecraft/class_2505;)Vnamed scanCompressedLnet/minecraft/nbt/NbtIo;scanCompressed(Ljava/io/File;Lnet/minecraft/nbt/scanner/NbtScanner;Lnet/minecraft/nbt/NbtTagSizeTracker;)V
-
scanCompressed
public static void scanCompressed(InputStream stream, NbtScanner scanner, NbtTagSizeTracker tracker) throws IOException Scans the compressed NBT stream usingscanner.- Throws:
IOException- if the IO operation failsNbtSizeValidationException- if thetracker's validation fails- See Also:
- API Note:
- This method does not return the scan result; the user is expected
to call the appropriate method of the
NbtScannersubclasses, such asNbtCollector.getRoot(). - Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/InputStream;Lst;Lsi;)Vintermediary method_40058Lnet/minecraft/class_2507;method_40058(Ljava/io/InputStream;Lnet/minecraft/class_6836;Lnet/minecraft/class_2505;)Vnamed scanCompressedLnet/minecraft/nbt/NbtIo;scanCompressed(Ljava/io/InputStream;Lnet/minecraft/nbt/scanner/NbtScanner;Lnet/minecraft/nbt/NbtTagSizeTracker;)V
-
toCompressedBytes
Returns the compressed byte array serialization ofnbt.- Returns:
- the compressed byte array serialization of
nbt - Throws:
IOException- Mappings:
Namespace Name Mixin selector official aLsm;a(Lrz;)[Bintermediary method_54661Lnet/minecraft/class_2507;method_54661(Lnet/minecraft/class_2487;)[Bnamed toCompressedBytesLnet/minecraft/nbt/NbtIo;toCompressedBytes(Lnet/minecraft/nbt/NbtCompound;)[B
-
toBytes
Returns the byte array serialization ofnbt.- Returns:
- the byte array serialization of
nbt - Throws:
IOException- Mappings:
Namespace Name Mixin selector official bLsm;b(Lrz;)[Bintermediary method_54662Lnet/minecraft/class_2507;method_54662(Lnet/minecraft/class_2487;)[Bnamed toBytesLnet/minecraft/nbt/NbtIo;toBytes(Lnet/minecraft/nbt/NbtCompound;)[B
-
writeCompressed
Writes the Gzip-compressednbttofile.- Throws:
IOException- if the IO operation fails- See Also:
- Mappings:
Namespace Name Mixin selector official aLsm;a(Lrz;Ljava/io/File;)Vintermediary method_30614Lnet/minecraft/class_2507;method_30614(Lnet/minecraft/class_2487;Ljava/io/File;)Vnamed writeCompressedLnet/minecraft/nbt/NbtIo;writeCompressed(Lnet/minecraft/nbt/NbtCompound;Ljava/io/File;)V
-
writeCompressed
Writes the Gzip-compressednbttostream.- Throws:
IOException- if the IO operation fails- See Also:
- Mappings:
Namespace Name Mixin selector official aLsm;a(Lrz;Ljava/io/OutputStream;)Vintermediary method_10634Lnet/minecraft/class_2507;method_10634(Lnet/minecraft/class_2487;Ljava/io/OutputStream;)Vnamed writeCompressedLnet/minecraft/nbt/NbtIo;writeCompressed(Lnet/minecraft/nbt/NbtCompound;Ljava/io/OutputStream;)V
-
write
Writes thenbttofile.- Throws:
IOException- if the IO operation fails- See Also:
- Mappings:
Namespace Name Mixin selector official bLsm;b(Lrz;Ljava/io/File;)Vintermediary method_10630Lnet/minecraft/class_2507;method_10630(Lnet/minecraft/class_2487;Ljava/io/File;)Vnamed writeLnet/minecraft/nbt/NbtIo;write(Lnet/minecraft/nbt/NbtCompound;Ljava/io/File;)V
-
read
Reads an NBT compound fromfile.- Returns:
- the NBT compound from the file, or
nullif the file does not exist - Throws:
IOException- if the IO operation fails or if the root NBT element is not a compoundNbtSizeValidationException- if the NBT is too deep- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/File;)Lrz;intermediary method_10633Lnet/minecraft/class_2507;method_10633(Ljava/io/File;)Lnet/minecraft/class_2487;named readLnet/minecraft/nbt/NbtIo;read(Ljava/io/File;)Lnet/minecraft/nbt/NbtCompound;
-
readCompound
Reads an NBT compound frominput.- Returns:
- the NBT compound from the input
- Throws:
IOException- if the IO operation fails or if the root NBT element is not a compoundNbtSizeValidationException- if the NBT is too deep- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/DataInput;)Lrz;intermediary method_10627Lnet/minecraft/class_2507;method_10627(Ljava/io/DataInput;)Lnet/minecraft/class_2487;named readCompoundLnet/minecraft/nbt/NbtIo;readCompound(Ljava/io/DataInput;)Lnet/minecraft/nbt/NbtCompound;
-
readCompound
public static NbtCompound readCompound(DataInput input, NbtTagSizeTracker tracker) throws IOException Reads an NBT compound frominput.- Returns:
- the NBT compound from the input
- Throws:
IOException- if the IO operation fails or if the root NBT element is not a compoundNbtSizeValidationException- if thetracker's validation fails- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/DataInput;Lsi;)Lrz;intermediary method_10625Lnet/minecraft/class_2507;method_10625(Ljava/io/DataInput;Lnet/minecraft/class_2505;)Lnet/minecraft/class_2487;named readCompoundLnet/minecraft/nbt/NbtIo;readCompound(Ljava/io/DataInput;Lnet/minecraft/nbt/NbtTagSizeTracker;)Lnet/minecraft/nbt/NbtCompound;
-
writeCompound
Writes thenbttooutput.- Throws:
IOException- if the IO operation fails- See Also:
- Mappings:
Namespace Name Mixin selector official aLsm;a(Lrz;Ljava/io/DataOutput;)Vintermediary method_10628Lnet/minecraft/class_2507;method_10628(Lnet/minecraft/class_2487;Ljava/io/DataOutput;)Vnamed writeCompoundLnet/minecraft/nbt/NbtIo;writeCompound(Lnet/minecraft/nbt/NbtCompound;Ljava/io/DataOutput;)V
-
scan
public static void scan(DataInput input, NbtScanner scanner, NbtTagSizeTracker tracker) throws IOException Scans the NBT input usingscanner.- Throws:
IOException- if the IO operation failsNbtSizeValidationException- if thetracker's validation fails- API Note:
- This method does not return the scan result; the user is expected
to call the appropriate method of the
NbtScannersubclasses, such asNbtCollector.getRoot(). - Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/DataInput;Lst;Lsi;)Vintermediary method_39855Lnet/minecraft/class_2507;method_39855(Ljava/io/DataInput;Lnet/minecraft/class_6836;Lnet/minecraft/class_2505;)Vnamed scanLnet/minecraft/nbt/NbtIo;scan(Ljava/io/DataInput;Lnet/minecraft/nbt/scanner/NbtScanner;Lnet/minecraft/nbt/NbtTagSizeTracker;)V
-
read
Reads an NBT element frominput. UnlikereadCompound(DataInput, NbtTagSizeTracker), the element does not have to be a compound.- Returns:
- the NBT element from the input
- Throws:
IOException- if the IO operation failsNbtSizeValidationException- if thetracker's validation fails- Mappings:
Namespace Name Mixin selector official bLsm;b(Ljava/io/DataInput;Lsi;)Lsw;intermediary method_52894Lnet/minecraft/class_2507;method_52894(Ljava/io/DataInput;Lnet/minecraft/class_2505;)Lnet/minecraft/class_2520;named readLnet/minecraft/nbt/NbtIo;read(Ljava/io/DataInput;Lnet/minecraft/nbt/NbtTagSizeTracker;)Lnet/minecraft/nbt/NbtElement;
-
writeForPacket
Writes thenbttooutput. The output is the byte indicating the element type, followed by the NBT data.- Throws:
IOException- if the IO operation fails- See Also:
- API Note:
- In vanilla, this is used exclusively in networking.
- Mappings:
Namespace Name Mixin selector official aLsm;a(Lsw;Ljava/io/DataOutput;)Vintermediary method_52893Lnet/minecraft/class_2507;method_52893(Lnet/minecraft/class_2520;Ljava/io/DataOutput;)Vnamed writeForPacketLnet/minecraft/nbt/NbtIo;writeForPacket(Lnet/minecraft/nbt/NbtElement;Ljava/io/DataOutput;)V
-
write
Writes thenbttooutput. The output is the byte indicating the element type, followed by an empty string and the NBT data.- Throws:
IOException- if the IO operation fails- See Also:
- Mappings:
Namespace Name Mixin selector official bLsm;b(Lsw;Ljava/io/DataOutput;)Vintermediary method_10631Lnet/minecraft/class_2507;method_10631(Lnet/minecraft/class_2520;Ljava/io/DataOutput;)Vnamed writeLnet/minecraft/nbt/NbtIo;write(Lnet/minecraft/nbt/NbtElement;Ljava/io/DataOutput;)V
-
readElement
private static NbtElement readElement(DataInput input, NbtTagSizeTracker tracker) throws IOException - Throws:
IOException- Mappings:
Namespace Name Mixin selector official cLsm;c(Ljava/io/DataInput;Lsi;)Lsw;intermediary method_10626Lnet/minecraft/class_2507;method_10626(Ljava/io/DataInput;Lnet/minecraft/class_2505;)Lnet/minecraft/class_2520;named readElementLnet/minecraft/nbt/NbtIo;readElement(Ljava/io/DataInput;Lnet/minecraft/nbt/NbtTagSizeTracker;)Lnet/minecraft/nbt/NbtElement;
-
readElement
- Mappings:
Namespace Name Mixin selector official aLsm;a(Ljava/io/DataInput;Lsi;B)Lsw;intermediary method_52892Lnet/minecraft/class_2507;method_52892(Ljava/io/DataInput;Lnet/minecraft/class_2505;B)Lnet/minecraft/class_2520;named readElementLnet/minecraft/nbt/NbtIo;readElement(Ljava/io/DataInput;Lnet/minecraft/nbt/NbtTagSizeTracker;B)Lnet/minecraft/nbt/NbtElement;
-