The slot data structure is how minecraft represents an item and its associated data in the minecraft protocol
- 0x05 Entity Equipment
- 0x0F Player Block Placement
- 0x66 Window Click
- 0x67 Set Slot
- 0x68 Window Items (as an array)
- 0x6B Creative Inventory Action
The structure consists of at least a short, which gives the item/block ID . A value of
-1 signifies that the slot is empty, and no further data follows.
For non-empty slots, at least two further fields follow. These fields are a byte (item count) and a short (damage/block metadata)
For every block ID, except -1, further data follows. First, a short gives the length of a proceeding byte array. A value of
-1 signifies no further data.
The byte array (if present) contains gzipped (that is RFC 1952 rather than RFC 1950) NBT data. 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 and level given as child SHORT elements.