Что делает пакет поведения
Behavior Pack содержит поддерживаемые описания сущностей, рецептов, добычи и других игровых данных Bedrock. Его возможности зависят от версии и конкретных форматов. Это не серверный плагин Paper и не Java-мод. Файл JAR в папке пакета не добавит новую механику.
Для первого проекта полезна одна наблюдаемая правка. Например, изменить базовую скорость движения тестовой сущности в официальном стартовом проекте. Не начинайте одновременно с нового предмета, модели, меню и сложного сценария. Большое число изменений скрывает причину, если пакет загрузился частично.
Используйте отдельный плоский мир с сохранённой исходной копией. Назовите проект и пространство имён так, чтобы отличать его от чужих образцов. Для самостоятельной сущности желательно своё имя, а не случайное переопределение всей ванильной популяции. Исходный официальный образец помогает сохранить обязательную структуру.
Получите рабочий стартовый проект
Откройте официальный урок Behavior Pack и перейдите в Mojang Minecraft Creator Tools. В разделе Add-On Starter нажмите New. Заполните Title значением SlowCow, Creator Name — LonelyCraft, Short Name — lc, затем нажмите OK. Генератор создаёт согласованные пакеты; их можно скачать для дальнейшего редактирования.
Рядом с New Script откройте стрелку и выберите New Mob. Выберите Cow, нажмите Add. В Entity Types откройте JSON коровы и найдите minecraft:entity → description → identifier. Скопируйте значение: дальнейшие команды используют его, а не предполагаемый идентификатор из чужого урока.
Для исходного опыта выберите Run → Flat World with Packs, затем в загрузках браузера Open file. Minecraft импортирует готовый тестовый мир. Откройте Играть / Play и мир с названием проекта и временем экспорта. Этот маршрут запуска подтверждён текущим уроком Microsoft.
Manifest и тип модуля
Нажмите кнопку с глазом в MCTools, чтобы увидеть связанные файлы. У пакета поведения в корне manifest.json модуль имеет type: "data"; у ресурсов — type: "resources". Имена каталогов проекта задаёт генератор, поэтому находите пакет по манифесту, а не по предполагаемому суффиксу.
При скачивании исходников сохраните оба пакета. В dependencies поведения UUID и версия должны совпасть с заголовком ресурсного пакета. Эта связь нужна созданной корове для внешнего вида. Не удаляйте её, пытаясь сократить пример до одного файла.
Для самостоятельного пакета создайте новые UUID, например дважды выполнив [guid]::NewGuid().ToString() в PowerShell. В обычном обновлении того же проекта сохраняйте идентификаторы и увеличивайте версии согласованно; JSON сущности имеет собственный format_version, независимый от формата манифеста.
- Сначала импортируйте проект без правок и создайте корову командой
/summon <identifier>: вместо угловых скобок вставьте скопированный идентификатор. - В исходном файле коровы найдите
componentsи единственный компонентminecraft:movement. - Запишите исходное
value, затем замените его на0.4, сохранив все остальные компоненты и группы. - Повторите
Run → Flat World with Packs: для сравнения используйте новый импортированный мир с новой версией, а не прошлый тестовый мир.
Пример с базовой скоростью
Внутри существующего объекта components замените значение ровно этого компонента. Ниже показан фрагмент, а не весь файл сущности; полный рабочий JSON уже создал MCTools. Справка minecraft:movement определяет value как базовую скорость; 0.4 не следует трактовать как блоки в секунду.
Для сравнения сделайте загон с проходом 3×12 блоков. В выживании держите пшеницу в конце прохода и создайте тестовую корову у другого конца. Повторите три подхода в исходном и изменённом проектах. Одинаковая цель и длина пути показывают эффект надёжнее случайного блуждания. Если корова не следует за пшеницей, вернитесь к исходному проекту и проверьте сохранённые компоненты поведения.
"minecraft:movement": {
"value": 0.4
}Не дублируйте ключ
Если minecraft:movement уже есть в components, изменяйте его поле, а не добавляйте второй одноимённый ключ. Повторные ключи затрудняют диагностику и могут обрабатываться неожиданно. Проверяйте правильность JSON до импорта и сохраняйте исходное значение для сравнения.
Не ломайте остальные части
Компонент движения сам по себе не создаёт цель и навигацию сущности. Поэтому используйте полный рабочий образец. Удаление ИИ ради маленького файла может сделать тест неподвижным, хотя значение скорости корректно. Минимальная правка отличается от неполного определения существа.
Запуск и сравнение
В чате выполните /summon <identifier>, заменив аргумент на значение из description.identifier. Если собственного имени нет, проверьте, что открыт новый мир, импортированный после правки. Команда /summon minecraft:cow создаёт ванильный тип и не проверяет отдельную сущность проекта.
Проверяйте на существе, созданном после загрузки новой версии. Запишите время трёх проходов и исходное значение движения; затем верните это значение и экспортируйте третий мир. Возврат прежнего поведения подтверждает, что наблюдаемый эффект связан с правкой компонента.
Ошибки JSON и неизвестные компоненты ищите в журнале содержимого по инструкции Microsoft. Сравнивайте последний импорт и его активные пакеты, прежде чем менять другие параметры.
Обновление и перенос
Повышайте версию проекта по своему процессу и проверяйте повторный импорт. Не создавайте новые UUID для каждой обычной правки того же пакета без необходимости: идентичность и номер версии имеют разные задачи. При распространении передавайте также необходимые связанные ресурсы.
В основном мире сначала тестируйте копию. Изменения сущностей могут иметь последствия для существующих объектов и игрового процесса. Если эксперимент неудачен, верните одновременно рабочий набор и подходящее сохранение. Удаление файлов не всегда является полным откатом всех данных мира.
Связанную визуальную часть помогает понять материал структура ресурсов.
Для отдельной командной логики прочитайте инструкцию группа команд пакета.



