Руководства / Команды и данные
ID блоков, предметов и сущностей: пространства имён, состояния блоков и то, что отличается
ID — это не всегда то, как называется предмет, а ID блока — не то же самое, что ID его предмета. Правила именования, переименования, ломающие старые команды, и место для состояний.
Каждая команда, которая падает с «Unknown item» или «Unknown block», — это проблема с ID, а правила здесь тоньше, чем «нижний регистр с подчёркиваниями».
Пространство имён в данных необязательно
minecraft:diamond_sword
my_pack:custom_sword
В командах можно опускать minecraft: — /give @s diamond_sword работает — и в JSON-файлах тоже: голый diamond_sword в таблице добычи или рецепте разрешается в minecraft:diamond_sword. Но всё равно пишите пространство имён везде; так ваши собственные ID остаются однозначными, а опечатку в пространстве имён легко заметить.
ID блока и ID предмета — разные вещи
У некоторых блоков нет предмета, некоторые предметы ставят другой блок:
| Предмет | Устанавливаемый блок |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, но варианты в горшках — отдельные блоки |
| — | minecraft:water, minecraft:fire не имеют предмета (air существует как предмет только в виде пустого стека) |
/setblock принимает ID блока. /give принимает ID предмета. Использование не того — самая частая причина ошибки «такого ID не существует», когда вещь явно есть.
Состояния блоков живут в квадратных скобках
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Состояния — это свойства блока, а не предмета: поворот обычного предмета-ступеньки решается при установке. Исключение — предмет с компонентом block_state, свойства которого применяются после установки. Неуказанные свойства принимают значения по умолчанию.
waterlogged ловит многих: оно есть у ступенек, плит, заборов и десятков других блоков, а установка блока без него удаляет воду, которая там была.
Переименования, ломающие старые команды
Несколько ID изменились, и старые теперь просто неизвестны:
| Старый | Текущий |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign и компания |
grass — самый болезненный, потому что grass_block всё ещё существует и означает другое. Старые команды, использовавшие grass для растения, теперь падают как неизвестный блок.
ID сущностей
В основном предсказуемы, с исключениями: minecraft:snow_golem, а не snowman, minecraft:mooshroom, а не mushroom_cow, и каждый снаряд — отдельная сущность — minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Сущности, которые технически являются блочными сущностями — сундуки, воронки, таблички — не появляются в списке сущностей, и их нельзя /summon. Они устанавливаются как блоки и редактируются с помощью /data.
Теги лучше списков
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
Везде, где команда или JSON принимает тег, его использование переживёт добавление Mojang новых пород дерева. Жёстко прописанные все тринадцать ID досок — нет.
Ищите любой ID блока, предмета и сущности, вместе с состояниями блоков и тегами, к которым каждый относится, в Block, Item & Entity ID Browser.