Difference between revisions of "Slot Data"
(Updated to 1.3.1) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Packets == | == Packets == | ||
− | * [[Protocol#Player_Block_Placement_.280x0F.29|0x0F | + | * [[Protocol#Entity_Equipment_.280x05.29|0x05 Entity Equipment]] |
− | * [[Protocol#Window_click_.280x66.29|0x66 | + | * [[Protocol#Player_Block_Placement_.280x0F.29|0x0F Player Block Placement]] |
− | * [[Protocol#Set_slot_.280x67.29|0x67 | + | * [[Protocol#Spawn Dropped Item (0x15)| 0x15 Spawn Dropped Item]] |
− | * [[Protocol#Window_items_.280x68.29|0x68 | + | * [[Protocol#Window_click_.280x66.29|0x66 Window Click]] |
− | * [[Protocol#Creative_inventory_action_.280x6B.29|0x6B | + | * [[Protocol#Set_slot_.280x67.29|0x67 Set Slot]] |
+ | * [[Protocol#Window_items_.280x68.29|0x68 Window Items]] (as an array) | ||
+ | * [[Protocol#Creative_inventory_action_.280x6B.29|0x6B Creative Inventory Action]] | ||
== Format == | == Format == | ||
Line 13: | Line 15: | ||
The structure consists of at least a short, which gives the item/block ID [http://www.minecraftwiki.net/wiki/Block_ids#Block_IDs_.28Minecraft_Beta.29]. A value of <code>-1</code> signifies that the slot is empty, and no further data follows. | The structure consists of at least a short, which gives the item/block ID [http://www.minecraftwiki.net/wiki/Block_ids#Block_IDs_.28Minecraft_Beta.29]. A value of <code>-1</code> signifies that the slot is empty, and no further data follows. | ||
− | + | If the block ID is not <code>-1</code>, three more fields follow. These fields are a byte (item count), a short (item damage), and another short (length of item metadata). | |
− | + | If the short (length of item metadata) is <code>-1</code>, there is no item metadata, and no further data follows. Otherwise, a byte array will follow. | |
− | The byte array | + | The byte array contains gzipped (that is RFC 1952 rather than RFC 1950) [[NBT]] data. The format of this data is as follows: |
<code> | <code> |
Revision as of 17:01, 28 October 2012
The slot data structure is how minecraft represents an item and its associated data in the minecraft protocol
Packets
- 0x05 Entity Equipment
- 0x0F Player Block Placement
- 0x15 Spawn Dropped Item
- 0x66 Window Click
- 0x67 Set Slot
- 0x68 Window Items (as an array)
- 0x6B Creative Inventory Action
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 short (length of item metadata).
If the short (length of item metadata) is -1
, there is no item metadata, and no further data follows. Otherwise, a byte array will follow.
The byte array 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[2] and level given as child SHORT elements.