Guides / Building & Resources

Пользовательские модели: много моделей для одного предмета без замены

Система моделей предметов заменила старый предикат CustomModelData. Здесь вы найдете структуру папок, JSON, который сопоставляет значения с моделями, и объяснение, почему ваша текстура отображается как фиолетовый куб.

Пользовательские модели предметов позволяют серверу выдавать «волшебную палочку», которая на самом деле является Удочкой с морковкой с другой моделью. Механизм изменился, и большинство руководств до сих пор описывают старый.

Что изменилось

Старый способ — блок predicate внутри файла модели базового предмета, с ключом custom_model_data в виде числа:

{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }

Текущий способ — определение items/, которое выбирает модель:

assets/minecraft/items/carrot_on_a_stick.json
{
  "model": {
    "type": "minecraft:range_dispatch",
    "property": "minecraft:custom_model_data",
    "fallback": { "type": "minecraft:model", "model": "minecraft:item/carrot_on_a_stick" },
    "entries": [
      { "threshold": 1, "model": { "type": "minecraft:model", "model": "minecraft:item/wand" } }
    ]
  }
}

fallback — это то, как выглядит обычная Удочка с морковкой. Без него каждая немодифицированная удочка в мире превратится в вашу палочку.

Структура папок

pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json      the dispatch
├── models/item/wand.json             the model
└── textures/item/wand.png            the texture

models/item/wand.json в простейшем виде:

{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }

Обратите внимание, что путь к текстуре не содержит префикса textures/ и .png — это самая распространенная причина появления фиолетово-черного куба.

Выдача предмета

/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]

Компонент теперь принимает объект с типизированными списками, а не просто целое число. custom_model_data=1 — это старый синтаксис, который молча ничего не делает.

Почему отображается фиолетовый куб

В порядке вероятности:

  1. Неправильный путь к текстуре — включает textures/ или .png, или файл находится не там, где указано в пути.
  2. Регистр имени файла — игра чувствительна к регистру, даже если ваша ОС нет.
  3. pack_format слишком низкий — пакет загружается, но папка items/ игнорируется. Сопоставьте формат с используемой вами версией.
  4. Неправильно заархивированоpack.mcmeta должен находиться в корне ZIP-архива, а не внутри папки внутри ZIP-архива.

Другие селекторы

range_dispatch по номеру — это лишь один из вариантов. Вы также можете использовать minecraft:display_context (разная модель в руке и в рамке), minecraft:using_item или minecraft:selected — так Лук показывает натянутое состояние.

Создайте JSON-файл для диспетчеризации, файл модели и команду выдачи вместе в Инструментах для пользовательских моделей и компонентов предметов.

Инструменты модели и компонентов предмета →

More guides

Browse all →

Нужны другие инструменты для Minecraft?

Набор генераторов, просмотрщиков и конвертеров прямо в браузере — всё бесплатно.