diff --git a/src/lib/nbt.h++ b/src/lib/nbt.h++ index 65df3cb..bee457b 100644 --- a/src/lib/nbt.h++ +++ b/src/lib/nbt.h++ @@ -6,15 +6,15 @@ // All tag types: // generic representation: Tag(Byte:tag_type, String:name, uint16:name_size, byte[]:content, int32:size) // None (compound end): Tag( 0, "", 0, None, 0) => used to determine the end of a compound tag, only the type gets stored -// byte: Tag( 1, String:name, uint16:name_size, byte:content, 1) => a single signed byte, size and content type not stored -// int16: Tag( 2, String:name, uint16:name_size, int16:content, 2) => 16 bit signed integer, size and content type not stored -// int32: Tag( 3, String:name, uint16:name_size, int32:content, 4) => 32 bit signed integer, size and content type not stored -// int64: Tag( 4, String:name, uint16:name_size, int64:content, 8) => 64 bit signed integer, size and content type not stored -// float32: Tag( 5, String:name, uint16:name_size, float32:content,4) => 32 bit IEEE754 floating point number, size and content type not stored -// float64: Tag( 6, String:name, uint16:name_size, float64:content,8) => 64 bit IEEE754 floating point number, size and content type not stored -// byte[]: Tag( 7, String:name, uint16:name_size, byte[]:content, int32:size) => content stored prefixed with size, content type not stored -// String: Tag( 8, String:name, uint16:name_size, byte[]:content, uint16:size) => Java style modified UTF-8 string, content stored prefixed with size, content type not stored +// byte: Tag( 1, String:name, uint16:name_size, byte:content, 1) => a single signed byte, size not stored +// int16: Tag( 2, String:name, uint16:name_size, int16:content, 2) => 16 bit signed integer, size not stored +// int32: Tag( 3, String:name, uint16:name_size, int32:content, 4) => 32 bit signed integer, size not stored +// int64: Tag( 4, String:name, uint16:name_size, int64:content, 8) => 64 bit signed integer, size not stored +// float32: Tag( 5, String:name, uint16:name_size, float32:content,4) => 32 bit IEEE754 floating point number, size not stored +// float64: Tag( 6, String:name, uint16:name_size, float64:content,8) => 64 bit IEEE754 floating point number, size not stored +// byte[]: Tag( 7, String:name, uint16:name_size, byte[]:content, int32:size) => content stored prefixed with size +// String: Tag( 8, String:name, uint16:name_size, byte[]:content, uint16:size) => Java style modified UTF-8 string, content stored prefixed with size // Tag[] (list): Tag( 9, String:name, uint16:name_size, Tag[]:content, int32:size) => list of tags of the same type with tag type and name information omitted prefixed by (in order) content type and size -// Tag[] (compound): Tag(10, String:name, uint16:name_size, Tag[]:content, int32:size) => list of tags, last tag is always an end tag, size and content type not stored -// int32[]: Tag(11, String:name, uint16:name_size, int32[]:content,int32:size) => list of 32 bit signed integers prefixed with its size, content type not stored, endianness unknown at this point -// int64[]: Tag(12, String:name, uint16:name_size, int64[]:content,int32:size) => list of 64 bit signed integers prefixed with its size, content type not stored, endianness unknown at this point +// Tag[] (compound): Tag(10, String:name, uint16:name_size, Tag[]:content, int32:size) => list of tags, last tag is always an end tag, size not stored +// int32[]: Tag(11, String:name, uint16:name_size, int32[]:content,int32:size) => list of 32 bit signed integers prefixed with its size, endianness not verified at this point +// int64[]: Tag(12, String:name, uint16:name_size, int64[]:content,int32:size) => list of 64 bit signed integers prefixed with its size, endianness not verified at this point