Minecraft Item Model Builder

Собирайте новые item definition JSON-файлы в assets//items/. Выберите тип ветвления, настройте fallback, добавьте кейсы и заберите готовый JSON без ручной сборки хрупкого каркаса.

Быстрые старты

Загрузите стартовый паттерн, а потом просто замените пути и значения под свой пак.

Настройка definition

Именно по этому пути нужно сохранить JSON внутри пака.

Ветки

Готовый item definition

Как пользоваться конструктором

Выберите, как предмет выбирает модель, заполните пути и ветки и скопируйте один файл item definition.

Заготовки

Single display model — один постоянный вид. Selected state переключается условием по selected. Charge stages идёт по ступеням перезарядки через range_dispatch. Main-hand context использует select по руке.

Путь файла

Пространство имён и путь дают assets/<namespace>/items/<path>.json. Предмет подключает файл через компонент item_model; файл с именем ванильного предмета в пространстве minecraft заменяет вид этого предмета.

Запасная модель

Модель на случай, когда ни одна ветка не подошла. Укажите существующую, например ванильную, чтобы пропущенный вариант не превращался в фиолетово-чёрную текстуру ошибки.

Свойство и индекс

Для custom_model_data индекс выбирает ячейку: n-ю строку для select, n-е дробное число для range_dispatch.

Ветки

У select ветка — это значение и модель. У range_dispatch — порог и модель: побеждает наибольший порог, не превышающий значение. У condition первая ветка используется при true, вторая — при false.

Проверьте перед выпуском пака

Модели должны существовать

Каждый путь в файле ведёт к assets/<namespace>/models/<path>.json. Опечатка даёт текстуру ошибки, а не сообщение.

Строки сравниваются со строками

Select по custom_model_data сравнивает текст: выдайте предмету custom_model_data={strings:["novice"]} и напишите в ветке novice.

Прочность считается от 0 до 1

minecraft:damage по умолчанию нормализован, поэтому 0.25 — это израсходованная четверть прочности, а не 25 единиц.

Версии

Item definitions появились в 1.21.4 и актуальны до 26.3. До 1.21.4 модели выбирали варианты через overrides внутри файлов models/item, так что там этот файл ничего не делает. Подходящая команда: /give @p minecraft:book[item_model="cubeinsquare:book/formulary",custom_model_data={strings:["novice"]}].