1. Вики
  2. /Для новичков
  3. /Твой первый пакет

Твой первый пакет

Создай структуру папок для пакета поведения и пакета ресурсов Bedrock, напиши оба файла manifest.json, свяжи их и добавь иконку пакета.

В этом гайде ты соберёшь пустой аддон, который Minecraft узнаёт. Пока он ничего не добавляет, но станет основой для каждого предмета, блока и моба, которых ты сделаешь потом. Это займёт минут десять.

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

Создай папку проекта где угодно, например на рабочем столе. Внутри сделай две папки: одну для пакета поведения и одну для пакета ресурсов.

My first add-on
my_first_addon/
  BP/
    manifest.json
    pack_icon.png
    items/
  RP/
    manifest.json
    pack_icon.png
    textures/
    texts/

Названия BP и RP - просто привычка, которой следует большинство авторов. Minecraft всё равно, как называются внешние папки. Ему важно только то, что лежит внутри, и самый важный файл здесь - manifest.json.

Зачем нужен манифест

Каждому пакету нужен manifest.json в верхней папке. Он сообщает Minecraft:

  • название и описание пакета
  • уникальный ID (UUID), чтобы игра могла отличать пакеты друг от друга
  • версию пакета
  • какой это пакет (поведения или ресурсов)
  • какие ещё пакеты ему нужны

Если манифеста нет или в нём ошибка, Minecraft вообще не покажет пакет.

UUID

UUID - это длинный случайный ID, который выглядит так: 7da910dc-081d-41d2-84e6-fcd9e04cbffb. Каждому пакету нужны свои UUID, и никакие два пакета в мире не должны иметь одинаковые.

Для аддона из BP + RP нужно четыре UUID:

  1. Заголовок пакета поведения
  2. Модуль пакета поведения
  3. Заголовок пакета ресурсов
  4. Модуль пакета ресурсов

Чтобы их получить, найди в браузере "UUID generator" и скопируй четыре новых. В VS Code их также умеют генерировать расширения для Bedrock.

Никогда не копируй UUID из гайдов

UUID на этой странице - это примеры. Если ты их скопируешь, а кто-то ещё сделал так же, ваши пакеты будут конфликтовать и один из них не загрузится. Всегда генерируй свои.

Манифест пакета поведения

Создай BP/manifest.json, вставь туда этот код и замени UUID на свои:

BP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "My First Add-on",
    "description": "My very first behavior pack",
    "uuid": "7da910dc-081d-41d2-84e6-fcd9e04cbffb",
    "version": [1, 0, 0],
    "min_engine_version": [1, 26, 50]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "92b4a8c1-cbc4-4b82-85bd-e36e922d0621",
      "version": [1, 0, 0]
    }
  ],
  "dependencies": [
    {
      "uuid": "f67430fa-ef89-4f40-802d-9574599c764d",
      "version": [1, 0, 0]
    }
  ]
}

Манифест пакета ресурсов

Создай RP/manifest.json. Обрати внимание: тип модуля здесь другой, а UUID заголовка совпадает с тем, что указан в dependencies пакета поведения:

RP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "My First Add-on",
    "description": "My very first resource pack",
    "uuid": "f67430fa-ef89-4f40-802d-9574599c764d",
    "version": [1, 0, 0],
    "min_engine_version": [1, 26, 50]
  },
  "modules": [
    {
      "type": "resources",
      "uuid": "654e78d1-0b0d-4f13-9a3b-6336f0ceab13",
      "version": [1, 0, 0]
    }
  ]
}

Разбираем каждое поле

format_version

Версия самого формата манифеста. Используй 2: именно её используют ванильные пакеты Mojang. Это простое число, а не текст в кавычках.

Заметка

Есть и более новый format_version 3 для манифеста, где версии пишутся текстом, например "1.0.0", а не массивами. Версия 2 по-прежнему полностью поддерживается, и на этой вики используется именно она.

Информация о пакете в целом.

  • name: показывается в списке пакетов в игре.
  • description: маленький текст под названием.
  • uuid: уникальный ID пакета.
  • version: три числа: мажорная, минорная версия и патч. Увеличивай её, когда выпускаешь обновление, например с [1, 0, 0] на [1, 0, 1]. По ней Minecraft понимает, что пакет новее.
  • min_engine_version: самая старая версия Minecraft, для которой написан твой пакет. От неё также зависит, как игра читает некоторые твои файлы, поэтому ставь версию, на которой тестируешь, например [1, 26, 50].

modules

Что находится внутри пакета. Пакету нужен хотя бы один модуль, и у каждого модуля свой UUID.

Тип модуляГде используетсяЧто содержит
dataПакет поведенияПредметы, блоки, сущности, рецепты, таблицы добычи, функции
resourcesПакет ресурсовТекстуры, модели, звуки, тексты
scriptПакет поведенияJavaScript-файлы, использующие Script API

dependencies

Список других пакетов, которые нужны этому. В каждой записи указаны uuid и version из заголовка другого пакета.

Здесь пакет поведения зависит от пакета ресурсов. У этой связи есть приятный эффект: когда ты включаешь пакет поведения в мире, Minecraft сам включает и пакет ресурсов. Без неё игроки могли бы включить только BP и увидеть предметы без текстур.

Совет

Зависимость должна указывать на UUID заголовка RP, а не на UUID его модуля. Это одна из самых частых ошибок новичков.

Иконки пакетов

Положи pack_icon.png в верхнюю папку каждого пакета, рядом с манифестом. Эта картинка показывается в списке пакетов.

  • Сделай её квадратной. Хорошо смотрятся и 128x128, и 256x256 пикселей.
  • Сохрани в формате PNG.
  • Для обоих пакетов можно использовать одну и ту же картинку.

Если иконки нет, пакет всё равно работает, но вместо неё показывается пустая заглушка.

Добавляем файл языка

Названия, которые ты видишь в игре, берутся из языковых файлов пакета ресурсов. Создай эти два файла сейчас, чтобы они были готовы для следующих гайдов:

RP/texts/languages.json
["en_US"]
RP/texts/en_US.lang
pack.name=My First Add-on
pack.description=My very first add-on

Позже ты будешь добавлять сюда строки вроде item.demo:ruby.name=Ruby.

Проверяем, что пакет загружается

  1. Скопируй папку BP в com.mojang/development_behavior_packs.
  2. Скопируй папку RP в com.mojang/development_resource_packs.
  3. Открой Minecraft и создай новый мир.
  4. В настройках мира открой Наборы параметров поведения и посмотри в разделе Доступные. Твой пакет должен быть там со своей иконкой.
  5. Включи его. Пакет ресурсов должен включиться сам благодаря зависимости.

Если пакет не появился, загляни в гайд Если что-то сломалось. Скорее всего, в манифесте опечатка, поэтому дальше прочитай JSON за 5 минут.

Простой способ

Писать манифесты и генерировать UUID вручную нужно один раз на проект, но именно здесь мелкие опечатки ломают всё. GodCraft делает эту часть за тебя: каждый аддон, который ты создаёшь в Мастерской, получает свои новые UUID, оба манифеста и связь между двумя пакетами. Тебе остаётся заполнить в настройках пакета только то, что тебе важно.

Что дальше

Твой пустой аддон работает. Теперь дай ему что-нибудь делать:

Для новичков: Гайд

We use cookies to improve your experience and analyse site traffic. Learn more