Difference between revisions of "User:WinX64/Slot Data"
m (→Other types) |
(→Structured components: More components) |
||
Line 56: | Line 56: | ||
! Name | ! Name | ||
! Description | ! Description | ||
− | ! Data | + | ! style="width: 50%" | Data |
|- | |- | ||
| 0 | | 0 | ||
Line 347: | Line 347: | ||
| 16 | | 16 | ||
| <code>minecraft:repair_cost</code> | | <code>minecraft:repair_cost</code> | ||
− | | | + | | Accumulated anvil usage cost. The client displays "Too Expensive" if the value is greater than 40 and the player is not in creative mode (more specifically, if they don't have the [[Protocol#Player_Abilities_(clientbound)|insta-build flag enabled]]).<br>This behavior can be overridden by setting the level with the [[Protocol#Set_Container_Property|Set Container Property]] packet. |
− | | | + | | As follows: |
+ | {| class="wikitable" | ||
+ | ! Name | ||
+ | ! Type | ||
+ | ! Description | ||
+ | |- | ||
+ | | Cost | ||
+ | | {{Type|VarInt}} | ||
+ | | | ||
+ | |} | ||
|- | |- | ||
| 17 | | 17 | ||
| <code>minecraft:creative_slot_lock</code> | | <code>minecraft:creative_slot_lock</code> | ||
− | | | + | | Marks the item as non-interactive on the creative inventory (the first 5 rows of items).<br>This is used internally by the client on the paper icon in the saved hot-bars tab. |
| None. | | None. | ||
|- | |- | ||
| 18 | | 18 | ||
| <code>minecraft:enchantment_glint_override</code> | | <code>minecraft:enchantment_glint_override</code> | ||
− | | Description | + | | Overrides the item glint resulted from enchantments |
− | + | | As follows: | |
+ | {| class="wikitable" | ||
+ | ! Name | ||
+ | ! Type | ||
+ | ! Description | ||
+ | |- | ||
+ | | Has Glint | ||
+ | | {{Type|VarInt}} | ||
+ | | | ||
+ | |} | ||
|- | |- | ||
| 19 | | 19 | ||
| <code>minecraft:intangible_projectile</code> | | <code>minecraft:intangible_projectile</code> | ||
− | | | + | | Marks the projectile as intangible (cannot be picked-up).<br>{{Warning2|The Notchian client utilizes the codec meant for chat parsing (and NBT in general) when handling this component, even though it contains no data. This causes an empty Compound Tag to be written, which is likely an unintended bug.}} |
− | | | + | | As follows: |
+ | {| class="wikitable" | ||
+ | ! Name | ||
+ | ! Type | ||
+ | ! Description | ||
+ | |- | ||
+ | | Value | ||
+ | | {{Type|NBT}} | ||
+ | | Always a Compound Tag, and always empty. | ||
+ | |} | ||
|- | |- | ||
| 20 | | 20 |
Revision as of 13:45, 13 June 2024
The Slot data structure defines how an item is represented when inside an inventory window of any kind, such as a chest or furnace.
This page presents the new Slot data structure, using structured components. You can find the documentation of the old structure, that utilizes raw NBT data, here.
Format
Some description does here.
Name | Type | Meaning | |||
---|---|---|---|---|---|
Item Count | VarInt | The item count. Every following field is only present if this value is greater than zero. | |||
Item ID | Optional VarInt | The item ID. Item IDs are distinct from block IDs; see Data Generators for more information. | |||
Number of components to add | Optional VarInt | Number of elements present in the first data component array | |||
Number of components to remove | Optional VarInt | Number of elements present in the second data component array. This serve as a way to remove the default component values that are present on some items. | |||
Components to add | Component type | Optional Array | Optional VarInt Enum | The type of component. See Structured components for more detail. | |
Component data | Optional Varies | The component-dependent data. See Structured components for more detail. | |||
Components to remove | Component type | Optional Array | Optional VarInt Enum | The type of component. See Structured components for more detail. |
Structured components
The complete list of available components is described below. Items marked in blue cause no noticeable impact on the client, and mainly concern server-side operations.
For a more in-depth description, and information on how the items below are encoded with the NBT format, check here.
Type | Name | Description | Data | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | minecraft:custom_data
|
Customizable data that doesn't fit any specific component. | As follows:
| |||||||||||||||||||||||||||||||||||
1 | minecraft:max_stack_size
|
Maximum stack size for the item. | As follows:
| |||||||||||||||||||||||||||||||||||
2 | minecraft:max_damage
|
The maximum damage the item can take before breaking. | As follows:
| |||||||||||||||||||||||||||||||||||
3 | minecraft:damage
|
The current damage of the item. | As follows:
| |||||||||||||||||||||||||||||||||||
4 | minecraft:unbreakable
|
Marks the item as unbrekable. | As follows:
| |||||||||||||||||||||||||||||||||||
5 | minecraft:custom_name
|
Item's custom name. Normally shown in italic, and changeable at an anvil. |
As follows:
| |||||||||||||||||||||||||||||||||||
6 | minecraft:item_name
|
Override for the item's default name. Shown when the item has no custom name. |
As follows:
| |||||||||||||||||||||||||||||||||||
7 | minecraft:lore
|
Item's lore. | As follows:
| |||||||||||||||||||||||||||||||||||
8 | minecraft:rarity
|
Item's rarity. This affects the default color of the item's name. |
As follows:
| |||||||||||||||||||||||||||||||||||
9 | minecraft:enchantments
|
The enchantments of the item. | As follows:
| |||||||||||||||||||||||||||||||||||
10 | minecraft:can_place_on
|
List of blocks this block can be placed on when in adventure mode. | As follows:
| |||||||||||||||||||||||||||||||||||
11 | minecraft:can_break
|
List of blocks this item can break when in adventure mode. | As follows:
| |||||||||||||||||||||||||||||||||||
12 | minecraft:attribute_modifiers
|
The attribute modifiers of the item. | As follows:
| |||||||||||||||||||||||||||||||||||
13 | minecraft:custom_model_data
|
Value for the item predicate when using custom item models. More info can be found here. |
As follows:
| |||||||||||||||||||||||||||||||||||
14 | minecraft:hide_additional_tooltip
|
|
None. | |||||||||||||||||||||||||||||||||||
15 | minecraft:hide_tooltip
|
Hides the item's tooltip altogether. | None. | |||||||||||||||||||||||||||||||||||
16 | minecraft:repair_cost
|
Accumulated anvil usage cost. The client displays "Too Expensive" if the value is greater than 40 and the player is not in creative mode (more specifically, if they don't have the insta-build flag enabled). This behavior can be overridden by setting the level with the Set Container Property packet. |
As follows:
| |||||||||||||||||||||||||||||||||||
17 | minecraft:creative_slot_lock
|
Marks the item as non-interactive on the creative inventory (the first 5 rows of items). This is used internally by the client on the paper icon in the saved hot-bars tab. |
None. | |||||||||||||||||||||||||||||||||||
18 | minecraft:enchantment_glint_override
|
Overrides the item glint resulted from enchantments | As follows:
| |||||||||||||||||||||||||||||||||||
19 | minecraft:intangible_projectile
|
Marks the projectile as intangible (cannot be picked-up). |
As follows:
| |||||||||||||||||||||||||||||||||||
20 | minecraft:food
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
21 | minecraft:fire_resistant
|
Description here. | None. | |||||||||||||||||||||||||||||||||||
22 | minecraft:tool
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
23 | minecraft:stored_enchantments
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
24 | minecraft:dyed_color
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
25 | minecraft:map_color
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
26 | minecraft:map_id
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
27 | minecraft:map_decorations
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
28 | minecraft:map_post_processing
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
29 | minecraft:charged_projectiles
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
30 | minecraft:bundle_contents
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
31 | minecraft:potion_contents
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
32 | minecraft:suspicious_stew_effects
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
33 | minecraft:writable_book_content
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
34 | minecraft:written_book_content
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
35 | minecraft:trim
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
36 | minecraft:debug_stick_state
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
37 | minecraft:entity_data
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
38 | minecraft:bucket_entity_data
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
39 | minecraft:block_entity_data
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
40 | minecraft:instrument
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
41 | minecraft:ominous_bottle_amplifier
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
42 | minecraft:recipes
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
43 | minecraft:lodestone_tracker
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
44 | minecraft:firework_explosion
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
45 | minecraft:fireworks
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
46 | minecraft:profile
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
47 | minecraft:note_block_sound
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
48 | minecraft:banner_patterns
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
49 | minecraft:base_color
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
50 | minecraft:pot_decorations
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
51 | minecraft:container
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
52 | minecraft:block_state
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
53 | minecraft:bees
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
54 | minecraft:lock
|
Description here. | Data here. | |||||||||||||||||||||||||||||||||||
55 | minecraft:container_loot
|
Description here. | Data here. |
Other types
Common types used in multiple components are described below.
Block Predicate
Describes a predicate used when block filtering is necessary. It can be parameterized to account for the type of block, the values of specific block state properties, NBT data related to block entities, or any combination of the three.
Name | Type | Description |
---|---|---|
Has Blocks | Boolean | Whether this predicate is tied to specific types of blocks. |
Blocks | Optional Blocks | See Blocks structure below. Only present if Has Blocks is true. |
Has Properties | Boolean | Whether this predicate is tied to specific properties of a block. |
Number of Properties | Optional VarInt | Number of elements in the following array. Only present if Has Properties is true. |
Properties | Optional Array of Property | See Property structure below. Only present if Has Properties is true. |
Has NBT | Boolean | Whether this predicate is tied to specific block entity data. |
NBT | Optional NBT | Only present is Has NBT is true. |
The Blocks structure is defined as follows:
Name | Type | Description |
---|---|---|
Type | VarInt | Identifier used to determine the data that follows. It can be either:
|
Tag name | Optional Identifier | A tag representing a set of blocks. Only present if Type is 0. |
Block IDs | Optional Array of VarInt | An array of block IDs. Only present if Type is not 0. The size of the array is equal to Type - 1 .
|
The Property structure is defined as follows:
Name | Type | Description |
---|---|---|
Name | String | Name of the block state property. |
Is Exact Match | Boolean | Whether this is an exact value match, as opposed to ranged. |
Exact Value | Optional String | Value of the block state property. Only present in exact match mode. |
Min Value | Optional String | Minimum value of the block state property range. Only present in ranged match mode. |
Max Value | Optional String | Maximum value of the block state property range. Only present in ranged match mode. |