User:WinX64/Slot Data: Difference between revisions

From wiki.vg
Jump to navigation Jump to search
imported>WinX64
(Starting template for the updated slot data page)
 
imported>WinX64
(Content moved to the page on the main namespace)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''Slot''' data structure is how Minecraft represents an item and its associated data in the [[Protocol|Minecraft Protocol]].


=== Slot ===
{| class="wikitable"
! Name
! Type
! Meaning
|-
| Present
| {{Type|Boolean}}
| True if there is an item in this position; false if it is empty.
|-
| Item ID
| {{Type|Optional}} {{Type|VarInt}}
| Omitted if present is false. The {{Minecraft Wiki|Java Edition data values#Blocks|item ID}}. Item IDs are distinct from block IDs; see [[Data Generators]] for more information
|-
| Item Count
| {{Type|Optional}} {{Type|Byte}}
| Omitted if present is false.
|-
| NBT
| {{Type|Optional}} {{Type|NBT}}
| Omitted if present is false. If 0 (TAG_End), there is no NBT data, and no further data follows. Otherwise the byte is the start of an NBT blob as shown below:
|}
<pre>
  COMPOUND
    LIST 'StoredEnchantments'
      COMPOUND
        STRING 'id'
        SHORT 'lvl'
      END
      COMPOUND
        ...
      END
      ...
    END
    INT 'Unbreakable'
    ...
  END
</pre>
Note that on old versions, the enchantment id was sent as a SHORT, and not as a STRING.
Since 1.20.2 the root compound also has no name anymore. The NBT data starts with one byte indicating the type, followed by the type-specific data.
See [[NBT]] for more information about the NBT format, and {{Minecraft Wiki|Player.dat format#Item structure|here}} for the contained information and its format.  Note that tool durability is included in NBT, among other things.
== Examples ==
<pre>
  00                      | empty slot
  01 01 01 00            | a stone block
  01 01 01 03 12 34 56 78 | a stone block with (made-up) NBT data
</pre>
[[Category:Protocol Details]]
[[Category:Minecraft Modern]]

Latest revision as of 13:53, 14 June 2024