Minecraft Wiki перенесена на Единую платформу UCP. О замеченных ошибках, пожалуйста, сообщайте на портале сообщества или канале Discord.

Создание наборов параметров

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Данное руководство поможет вам создать свой первый набор параметров для Bedrock Edition.

Требования
Требуемые программы Требуемая платформа Требуемая версия игры
Любой удобный текстовый редактор Любая платформа, поддерживающая Bedrock Edition и текстовый редактор 1.12+

В это руководстве мы рассмотрим:

  • Формат данных JSON.
  • Как создать набор параметров.
  • Как измененить поведение моба.

Для того, чтобы понять данное руководство, потребуется его изучение по порядку.

Формат данных JSON[править | править код]

Для создания набора параметров потребуется понять способ работы JSON, на котором будет написан будущий аддон. Важно знать лишь самое основное. В JSON существует лишь два типа данных:

  • Имя и значение данных
    • Образец: «Имя»: значение
  • Список (Массив) значений данных
    • Образец: [значение, значение, значение]

В коде объект с именем и значением располагается в коде в разбросанном порядке.

Образец кода[править | править код]

{
"minecraft: scale" : {
   "value" : 0.7
   }
}

В данном объекте, являющемся парой, «minecraft: scale» (рус. Minecraft: размер) является именем, а значением является другая пара — «value» : 0.7 («Значение»: 0.7)

Образец с двумя парами[править | править код]

{ 
  "minecraft: health" :  { 
    "value" :  20 , 
    "max" :  20 
  } 
}

В данном образце вместо одного значения, присутствуют сразу два значения в виде пар.

Образец с массивом[править | править код]

{ 
  "minecraft: type_family" :  { 
    "family" :  [ 
      "monster" , 
      "undead" 
    ] 
  } 
}

В этом отрывке кода присутствует имя и значение, которое имеет массив (Список). Здесь определяется тип, к которому относится моб, но об этом мы поговорим позже.

Примечание

Очень важно, чтобы имена и значения имели начальные и конечные фигурные скобки. Иначе в коде возникнет ошибка и аддон не будет работать должным образом.

Создание Набора параметров[править | править код]

Наборы параметров позволяют игроку изменить характеристики предметов, блоков, мобов, добавить оружие и биомы, а также создать новую модель для моба и анимацию. В данном руководстве мы рассмотрим пример создания коровы, превращающейся в свинью, но перед этим требуется создать сам набор. Для этого мы создаём папку с любым названием по пути

  • Для Андроид устройств:

games/com.mojang./ development_behaivor_pack.

  • Для Windows 10

%userprofile%\AppData\Local\ Packages\ Microsoft.MinecraftUWP_8wekyb3d8bbwe\ LocalState\ games\com.mojang\ development_behavior_packs\ tutorial_behavior_pack.

  • Далее в этой папке требуется создать JSON файл с именем manifest.json.

manifest.json[править | править код]

Данный файл укажет игре, что папка является аддоном.

{
  "format_version": 1,
  "header": {
    "description": "Здесь будет описание аддона",
    "name": "Имя аддона",
    "uuid": "13ec24c0-b7ce-4a89-882f-a2a2a3795257",
    "version": [
      1,
      8,
      0
    ],
    "min_engine_version": [
      1,
      12,
      0
    ]
  },
  "modules": [
    {
      "description": "dhdgushshegehe by vfshdhd",
      "type": "data",
      "uuid": "35579ef3-50f6-4f02-b6e5-a71ad4e14eca",
      "version": [
        1,
        8,
        0
      ]
    }
  ],
  "dependencies": null
}

Перед окончанием создания Набора параметров следует отредактировать код на своё усмотрение.

  • «min_engine_version»: [1,12,0] — минимальная версия игры для запуска.
  • «version»: [1,0,0] — Личная версия вашего набора, отвечает лишь за визуальный вид.
Примечание

Для правильной работы набора параметров необходимо создать два новых uuid — «номера» вашего набора. Их нужно вставить в объект «uuid»: «(Ваш uuid набора)» . Важно! Они должны быть разными.

Зависимый набор ресурсов[править | править код]

Некоторые наборы параметров имеют при себе зависимый набор ресурсов, это сделано для того, чтобы вместе с настройками аддона скачивались не только они, но и текстуры мобов, предметов и блоков.

    "dependencies": [
        {
            "uuid": "66c6e9a8-3093-462a-9c36-dbb052165822",
            "version": [0,0,1]
        }
    ]
}

Для привязки набора ресурсов к нашему набору параметров в данном коде требуется заменить uuid на uuid заголовка зависимого набора ресурсов и добавить этот отрывок кода в конец основного, в нашем начальном коде вкладка привязанного набора не указана, она выглядит как «null».

Примечание

В конце любой Пары «Имя: значение» должна ставится запятая, существуют исключения, но чаще всего это так, не забывайте об этом, иначе всё сломается.

Создание иконки[править | править код]

Для того, чтобы наш аддон имел свою собственную иконку, нужно загрузить изображение размером 128 × 128 в папку с аддоном и переименовать его на «pack_icon.png». После этого вы получите следующий результат:

Аддон2.png

Настройка файловой системы[править | править код]

Перед началом создания аддона, нам требуется настроить систему файлов, которые будут располагаться в аддоне. Создадим в папке аддона ещё одну папку с названием «entities». В этой папке мы будем хранить всю информацию о мобах нашего аддона. Далее требуется скачать шаблонный набор параметров от разработчиков игры. Вы сможете найти его в разделе шаблонов в статье Аддоны. Шаблон регулярно обновляется и соответствует самой новой версии игры. Далее требуется скопировать из шаблонного набора параметров, по пути «/Vanilla_Behaivor_Pack/entity/cow.json» в папке entities файл cow.json, файл коровы, с которым мы будем работать, и переместить его в папку entities, но только в свой набор параметров по пути: games/com.mojang/ development_behaivor_packs/ (Папка вашего аддона)/entities. После этого откройте его в своём текстовом редакторе.

Рассмотрение JSON-кода моба[править | править код]

Перед началом изменения коровы, нам требуется понять, как работают сущности в аддонах. Настоящий код коровы довольно сложен, поэтому мы используем нерабочий код, чтобы примерно объяснить, как работают мобы.

Нерабочий пример кода[править | править код]

{
  "minecraft:entity": {cow} scale 11.111
    "format_version": "1.16.0",
    "component_groups": { группы компонентов пишутся обычно здесь },
    "components": { компоненты моба будут писаться здесь },
    "events": { события мобов будут прописаны здесь }
  }
}

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

Примечание

«format version» является версией кода, которую нужно прочитать игре. Его нельзя менять!

component_groups (Группы компонентов)[править | править код]

Компоненты групп используются для настройки поведения моба и присваивания ему поведения в зависимости от группы. К примеру, если свинья является ребёнком, то она будет следовать за своим отцом и иметь определённую скорость, однако после подрастания она будет иметь другую группу поведения, следовательно поведение изменится. Обычно у коровы есть 2 и более групп, среди которых «cow_baby» — корова-малыш и «cow_adult» — взрослая корова. Группы меняются в зависимости от событий и других признаков.

components (Компоненты)[править | править код]

Компоненты определяют постоянное(Индивидуальное) поведение моба, к примеру, свинья будет превращаться в зомбифицированного пиглина при попадании молнии в неё. Она также всегда относится к типу свиньи, мобов. Этими качествами моб будет обладать всегда.

events (События)[править | править код]

События могу добавлять или удалять группы компонентов из мобов, они могут быть активированы от компонента или от отдельного кода. Таким образом при ударе молнии (Компонент) активируется нужное событие и свинья получит группу компонентов «Зомби».

Заметки для компонентов[править | править код]

minecraft: identifier

С помощью данного компонента определяется название моба, который расписан в файле. Идентификатор свиньи

{
"identifier" : "minecraft:pig"
}

minecraft: type_family

С помощью данного компонента определяется, к какому семейству (типу мобов) подходит данный моб. Свинья относится к типам: «Моб»,"Свинья".

{
"minecraft:type_family" : {
"family" : ["mob","pig"] 
}
}

minecraft: entity_spawned

Данный компонент является событием и запускается в случае, если в мире появляется моб нужного типа. В cow.json используется функция, с помощью которой случайным образом рождается взрослый или детёныш.

Изменение кода[править | править код]

Самое время заняться самой функцией аддона, нужно сделать так, чтобы корова превращалась в свинью, если её ударил игрок. Аддон будет забавным и хорошо подойдёт для новичков.

Для начала стоит объяснить, как будет работать аддон. Нужно зайти в файл cow.json и начать работу. Мы должны проверить, ударил ли игрок корову. Это мы проверим с помощью постоянного поведения моба (Компонента) «minecraft: damage_sensor», который реагирует на нанесение урона. Мы вставим его в «components» коровы. Важно! После каждого компонента, события или группы следует ставить запятую, также важно соблюдать фигурные скобки, для того, чтобы не запутаться в коде, проще всего добавлять всё новое в самом начале, когда код ещё не настолько запутан и его легко понять.

    "components": {
              "minecraft:damage_sensor": {
        "triggers": {
          "on_damage": {
            "filters": { 
"test" :  "is_family", "subject" : "other", "value" :  "player" },
            "event": "become_pig"
          },
          "deals_damage": false
        },

Добавьте «minecraft: damage_sensor» в фигурные скобки, он должен быть в фигурных скобках «components». Так должен выглядеть код после изменения.

Примечание

В данном коде есть единственная пара «Имя: Значение», а в той паре куча таких же пар. Если вы будете это понимать, то вам не трудно будет ориентироваться здесь.

minecraft: damage_sensor


Компонент реагирует на нанесение урона каким-либо способом.

«triggers» — является группой компонентов, которая ставит игре или мобу условия, с помощью других компонентов. Сам по себе «triggers» не имеет функционала, а лишь называет категорию компонентов.

«on_damage» — Ставит игре условие, выполняет другой, нижний компонент, если мобу нанесен какой-либо урон. Существует только в группе «triggers» (триггеров).

«filters» — Также, как и «triggers», является группой компонентов, которые фильтруют целевых (Мобов, которых назначают сами игроки) мобов, на что либо.

«test» : «is_family» — «test» является именем значения, которое фильтрует определённого моба по типам. В значением здесь является фильтр «is_family», оно проверяет, относится ли целевой мою к определённому семейству мобов, существует множество видов фильтров, кроме этого, которые проверяют мобов на другое.

«subject» : «other» — Является частью прошлого фильтра. Указывает, какой моб будет фильтроваться по типам, в данном случае по семейству. «subject» является именем, а «other» — значением, определяющим моба, который будет проверяться на принадлежность к семейству. other — означает, что проверяться будет не сам моб — корова, а другой моб, который ударил корову.

«value» : «player» — Определяет, какой именно моб будет проверяться, в данном случае проверяется моб, который ударил корову. Здесь им является «player» — игрок. Это значит, что если во время нанесения урона по корове, будет проверяться, является ли «other» — другой моб, а именно нанесший урон, игроком, если это так, то выполняется следующий компонент и аддон понимает, что удар по мобу совершил именно игрок.

«event» : «become_pig» — Выполняет события из «events». В данном случае выполняется событие «become_pig» (Стать свиньёй), которое мы настроим позже. Событие выполняется, если в прошлом фильтре оказалось, что урон нанес игрок.

«deals_damage» — Отвечает за то, чтобы моб получал урон, или игнорировал его. Нужно поставить либо «true» (правда), либо «false» (ложь).

Добавление событий

После этого следует добавить событие, которые будут отвечать за превращение коровы в свинью.

    "events": {

          "become_pig": {
        "remove": {
        },
        "add": {
          "component_groups": [
            "minecraft:cow_transform"
          ]
        }
      },

Точно также, как и в прошлый раз, следует скопировать или написать самому нужный код. Как вы помните, мы сделали так, чтобы если игрок ударял свинью, активировалось событие с названием «become_pig». В «events» мы пишем название этого события и начинаем его редактировать. Это событие ничего не удаляет, но добавляет к корове группу компонентов «minecraft: cow_transform». Это значит, что теперь она имеет группу трансформации и мы можем изменить поведение при наличии этой группы. Позже вы увидите, для чего это нужно.

«add» и «remove» — добавляют и удаляют группы компонентов.

Группы компонентов

С помощью событий мы добавляем сущности группу компонентов, которая отвечает за превращение в свинью, теперь мы должны добавить эту группу в «components_groups».

            "component_groups": {
      "minecraft:cow_transform": {

        "minecraft:transformation": {
          "into": "minecraft:pig",
          "delay": 0.5
        }
      },

Как обычно, поставьте внутри «compo nents_groups» название нашей группы, которую мы активировали событием. Далее в этой группе расписывает пару «Имени: значения», тоесть компонент.

«minecraft: transformation» - компонент, который трансформирует моба в другую сущность.

Далее расписываем, в кого трансформируется наш моб — корова. «into» (в) : «minecraft: pig» (свинью, на этом месте нужен идентификатор моба, в которого превратиться наш моб, идентификаторы можно посмотреть в файлах других мобов в ванильном шаблоне, обычно он начинается с "minecraft: ").

«delay» — Задержка в превращении в другую сущность в секундах.

Вот и готов набор параметров или аддон. Теперь самое время протестировать его!

  • Зайдите в Minecraft.
  • Создайте новый мир.
  • Включите в нём ваш набор параметров.
  • Зайдите в мир.
  • Ударьте корову.
  • Получите результат!

Результат[править | править код]

Отлично! Если у вас всё заработало, то вы отлично освоили Аддоны и теперь можете приступить к более сложным моба, предметам или другим вещам. Если вы хотите продолжить изучение наборов параметров, рекомендуем вам узнать больше о компонентах сущностей, с помощью которых вы сможете настроить их поведение!

Ошибки

Если у возникли проблемы и аддон не сработал, рекомендуем :

  • Проверить правильность написания JSON кода, нельзя пропускать фигурные скобки и запятые.
  • Важно правильно расписывать все названия, без опечаток.
  • Проверьте, что папки находятся на своих местах.

Как поделиться набором[править | править код]

Для того, чтобы отправить набор параметров:

  • Заходим в папку нашего аддона и выделяем все файлы внутри, тоесть на папку аддона, а то, что внутри. Далее сжимаем наши файлы в «mcpack». После этого вы можете выложить этот файл куда угодно.
Проверка файла

Для проверки работоспособности вашего файла, удалите ваш аддон из Minecraft (Сделайте копию.) и откройте mcpack. Готово.