Slot Data
The slot data structure is how Minecraft represents an item and its associated data in the minecraft protocol
Format
The structure consists of at least a short, which gives the item/block ID [1]. A value of -1
signifies that the slot is empty, and no further data follows.
If the block ID is not -1
, three more fields follow. These fields are a byte (item count), a short (item damage) and another byte.
If the byte is 0
, there is no NBT data, and no further data follows. Otherwise the byte is the start of the nbt blob
The format of this data is as follows:
COMPOUND: ''
LIST: 'ench'
COMPOUND
SHORT: 'id'
SHORT: 'lvl'
END
COMPOUND
...etc
END
END
Each of the inner, untagged COMPOUNDs represents an enchantment, with its ID[2] and level given as child SHORT elements.
Can someone edit this to explain how the the nbt blob above is converted to the binary in the example below.. How is the length of the blob known, etc?
Examples
ff ff | empty slot
01 16 01 00 00 00 | a diamond pickaxe
01 16 01 00 00 01 04 CA FE BA BE | a diamond pickaxe with (made-up) NBT data