Stored as Blocks Per Word indices, with each unsigned 32-bit integer containing multiple indices, each occupying Bits Per Word bits. The indices are packed and stored in YZX order (Y increments first).
NBT Palette Compound Count
4
The number of NBT compounds to parse
NBT Palette Compounds
Variable
Multiple NBT compounds of individual blocks of the palette used in this subchunk
If Palette Type is 1 (Might not be used in practice)
Stored as Blocks Per Word indices, with each unsigned 32-bit integer containing multiple indices, each occupying Bits Per Word bits. The indices are packed and stored in YZX order (Y increments first).
Multiple NBT compounds of individual blocks of the palette used in this subchunk
If Version is 0 or between 2 and 7
NOTE: Second block layer for this version uses LegacyBlockExtraData (4) key instead, rather then being stored with the subchunk like in newer versions of the format.
Name
Size (in bytes)
Description
Block IDs
4096
8 bits per block. All the block ids for this chunk stored in YZX order (Y increments first)
Block Data
2048
4 bits per block. All the data values for the blocks in this chunk stored in YZX order (Y increments first)
Skylight
2048
4 bits per block. May be omitted. All the skylight data for this chunk stored in YZX order (Y increments first)
Blocklight
2048
4 bits per block. May be omitted. All the blocklight data for this chunk stored in YZX order (Y increments first)
Notes
In some languages you may need to write this as 4096.0 instead of just 4096 for the correct output.