Il comando /give dopo i data component: cosa ha sostituito i tag NBT
La 1.20.5 ha sostituito l'NBT degli oggetti con i data component e la maggior parte degli snippet /give online è ancora scritta nel vecchio modo. Ecco la mappatura dai tag che conosci ai componenti che funzionano ora.
Se incolli un /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 component, e il vecchio {display:{Name:...}} blob no longer parses.
La struttura è cambiata
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name='"Skybreaker"',enchantments={sharpness:5}]
Parentesi quadre, non graffe. I componenti sono un elenco semplice separato da virgole sull'ID dell'oggetto.
Le corrispondenze che ti serviranno davvero
| Vecchio 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 |
Tre insidie
- Virgolette.
custom_nametakes a JSON text component, so a plain string still needs
le sue virgolette all'interno dell'argomento: custom_name='"Skybreaker"'.
- Rimuovere un valore predefinito. Aggiungi come prefisso
!to strip a component the item normally has —
[!attribute_modifiers] gives a sword with no damage bonus at all.
- Bedrock non ha nulla di tutto questo. Bedrock
/givestill uses its own data-value and
modello di componenti; una stringa di componenti Java non funzionerà lì.
Il Generatore /give scrive il formato del componente al posto tuo e mostra l'output per entrambe le edizioni, così puoi copiare quello adatto al server su cui ti trovi.