Команда /give після компонентів даних: що замінило теги NBT
У 1.20.5 NBT предметів замінили на компоненти даних, і більшість фрагментів /give в інтернеті досі написані по-старому. Ось зіставлення відомих вам тегів із компонентами, які працюють зараз.
Якщо ви вставите /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 компоненти даних, а старий {display:{Name:...}} blob no longer parses.
Формат змінився
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name='"Skybreaker"',enchantments={sharpness:5}]
Квадратні дужки, а не фігурні. Компоненти — це плаский список через кому після id предмета.
Зіставлення, які вам дійсно знадобляться
| Старий NBT | Компонент даних |
|---|---|
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 |
Три пастки
- Лапки.
custom_nametakes a JSON text component, so a plain string still needs
власні лапки всередині аргументу: custom_name='"Skybreaker"'.
- Видалення типового значення. Префікс із
!to strip a component the item normally has —
[!attribute_modifiers] gives a sword with no damage bonus at all.
- У Bedrock нічого з цього немає. Bedrock
/givestill uses its own data-value and
модель компонентів; рядок компонентів Java там не працюватиме.
Цей Генератор /give генерує запис із компонентами та показує результат для обох видань, тож ви можете скопіювати варіант для вашого сервера.