passengers: визуальные части
Визуальные части модели: строки SNBT, трансформации и теги сущностей.
content.passengers содержит визуальные части модели: блоки, предметы и текст,
представленные сущностями block_display, item_display и text_display.
Список строк
Поле имеет тип массив строк. Внутри каждой строки находится SNBT, текстовое представление данных Minecraft. Одна запись может объединять несколько сущностей через запятую:
{ "passengers": [ "{id:\"minecraft:block_display\",block_state:{Name:\"minecraft:stone\"},Tags:[\"my_model_0\"]},{id:\"minecraft:block_display\",block_state:{Name:\"minecraft:oak_planks\"},Tags:[\"my_model_1\"]}" ]}Это сокращённый учебный фрагмент: трансформации и дополнительные свойства опущены. Длина массива не определяет количество сущностей. Не разбивайте строку простым разделением по запятым: они также встречаются внутри составных значений SNBT.
После разбора внешнего JSON вы получаете строку, а не объект сущности и не команду
summon. Для понимания её структуры нужен разбор SNBT, а не повторный JSON.parse().
Разбор визуальной части
Так может выглядеть строка одной части после снятия JSON-экранирования:
{id:"minecraft:block_display",block_state:{Name:"minecraft:stone"},transformation:[1f,0f,0f,0f,0f,1f,0f,0f,0f,0f,1f,0f,0f,0f,0f,1f],Tags:["my_model_0"]}| Часть SNBT | Назначение |
|---|---|
id |
Тип сущности Minecraft |
block_state |
Блок и, при необходимости, его состояния для block_display |
item |
Данные предмета для item_display |
text и свойства текста |
Содержимое и оформление text_display |
transformation |
Преобразование визуальной части; текущий экспортёр записывает матрицу из 16 чисел |
Tags |
Теги, в том числе тег части, используемый командами анимации |
В строке могут присутствовать яркость, свечение и пользовательские NBT-свойства. Состав зависит от объекта. Синтаксис предметов и текста меняется между версиями Minecraft, поэтому пример для одной версии не задаёт схему всех остальных.
Координаты и теги частей
Трансформация уже учитывает положение объекта в сцене и преобразования родительских групп. Матрица описывает отображение части относительно системы координат модели; место появления модели в мире определяет интеграция. Повторно применять к ней трансформации групп редактора не требуется.
Экспортёр назначает визуальным частям теги вида [BDESERVERTAG]_0,
[BDESERVERTAG]_1 и далее. После запроса с tag=my_model они становятся
my_model_0, my_model_1 и так далее. Команды кадров ссылаются на эти теги.
Индексы обозначают части конкретного экспорта, а не постоянные ID объектов редактора.
Пользовательские теги также могут сохраняться в данных. Подстановка меняет маркер
[BDESERVERTAG], а не произвольно переименовывает все пользовательские теги.
Правила: Параметр tag.
Пустые и неподдерживаемые данные
Если визуальных частей нет, passengers может отсутствовать: текущий экспортёр
не добавляет поле с пустой строкой. Пустой массив также не содержит визуальных частей,
но не следует требовать именно такую форму для отсутствующих данных.
Настоящие блоки структуры не превращаются в block_display автоматически.
Серверный экспорт с настоящими структурами не поддерживается.
Хитбоксы описаны отдельным полем hitbox и не должны считаться визуальными частями модели.
Связанные материалы: Типы полей и Поддержка экспорта и ограничения.