Het /give-commando na data components: wat NBT-tags verving
1.20.5 verving item-NBT door data components, en de meeste /give-fragmenten online zijn nog steeds op de oude manier geschreven. Hier is het overzicht van de tags die je kent naar de componenten die nu werken.
Als je een /give command from an older guide and the game answers Unknown item tag or silently drops your enchantments, the command is written against the pre-1.20.5 NBT format. Item data moved to data components, en de oude {display:{Name:...}} blob no longer parses.
De vorm is veranderd
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name='"Skybreaker"',enchantments={sharpness:5}]
Vierkante haken, geen accolades. Componenten zijn een platte, door komma's gescheiden lijst achter het item-ID.
De toewijzingen die je daadwerkelijk nodig hebt
| Oude NBT | Data component |
|---|---|
display:{Name:...} | custom_name |
display:{Lore:[...]} | lore |
Enchantments:[{id,lvl}] | enchantments={id:level} |
Unbreakable:1b | unbreakable={} |
CustomModelData:3 | custom_model_data=3 |
AttributeModifiers:[...] | attribute_modifiers |
display:{color:...} | dyed_color |
SkullOwner | profile |
Drie valkuilen
- Aanhalingstekens.
custom_nametakes a JSON text component, so a plain string still needs
eigen aanhalingstekens binnen het argument: custom_name='"Skybreaker"'.
- Een standaardwaarde verwijderen. Laat voorafgaan door
!to strip a component the item normally has —
[!attribute_modifiers] gives a sword with no damage bonus at all.
- Bedrock heeft hier niets van. Bedrock
/givestill uses its own data-value and
componentmodel; een Java-componenttekenreeks zal daar niet werken.
De /give Generator schrijft de componentvorm voor je en toont de uitvoer voor beide edities, zodat je degene kunt kopiëren die past bij de server waarop je speelt.