Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

NBT теги в майнкрафт 1.21.1

Арсений Амосов Ученик (100), на голосовании 1 неделю назад
Постоянно я сталкиваюсь с проблемой в постановке синтасикса нбт тегов, когда я играл на 1.20.1 мне хотя-бы ели-ели удавалось подобрать комбинацию фигурных, квадратных скобок и кавычек, а на 1.21.1 я перелез кучу сайтов, подпирал порядки символов и нихрена не работает

execute as @e[type=item,nbt={Item:{tag:{empty:1b}}}] at @s run say 123
вот команда из моей последней попытки
Голосование за лучший ответ
АІ (Александръ Івановъ) Просветленный (40890) 1 месяц назад
execute as @e[type=item,nbt={Item:{tag:{empty:1b}}}] at @s run say 123
Здесь всё, в целом, правильно, но для старой версии. В Minecraft 1.20.5 разработчики переписали весь пласт игры, отвечающий за хранение данных предметов, чем здорово улучшили производительность, но создали много неудобств в обновлении команд. Теперь кастомные теги (empty:true) нельзя просто так записать в предмет, для этого разработчики выделили компонент custom_data (теперь вместо системы nbt-тегов используются компоненты). Делается это так (на примере камня):
 /give @a stone[custom_data={empty:true}] 
Соответственно, проверка такого предмета в инвентаре и на земле (в виде сущности) делается так:
 /execute as @a[nbt={Inventory:[{components:{"minecraft:custom_data":{empty:true}}}]}] run say 123 
 /execute as @e[type=item,nbt={Item:{components:{"minecraft:custom_data":{empty:true}}}}] run say 123 
Довольно громоздко, но что поделать. Для упрощения работы с данными предметов сейчас лучше использовать либо мод NBT Autocomplete, либо полноценный редактор VS Code с расширением SpyglassMC
Похожие вопросы