
19-04-2019, 19:27 38 544
Iggy
Minecraft Bedrock: создание собственных предметов
С версии Minecraft Bedrock Edition Beta 1.12.0.2 в игре появился новая возможность, которая позволяет создавать свои собственные предметы при помощи наборов ресурсов и параметров. В этом гайде мы кратко расскажем вам об этой возможности.
В конце руководства мы оставили ссылку на скачивание архива с готовым набором параметров и ресурсов. Со временем мы можем обновить это руководство, добавив или изменив информацию.
Шаг 1. Создаем набор ресурсов.
С помощью ресурсов сначала мы должны зарегистрировать наш предмет в игре и при желании назначить ему собственную иконку.
Для создания набора ресурсов нужно перейти в папку:- Windows 10: C:\Users\ИмяПользователя\AppData\Local\Packages\
Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\
com.mojang\resource_packs - Android: \games\com.mojang\resource_packs
В этой папке необходимо создавать новую папку для нашего нового набора. Ввести можно любой название, но старайтесь задавать осмысленные названия, чтобы в дальнейшем не путаться.
Переходим в созданную папку и создаем в ней файл с названием manifest.json.
Откройте этот файл через текстовый редактор и вставьте следующий код:{
"format_version": 1,
"header": {
"description": "Tutorial Resource Pack",
"name": "Tutorial Resource Pack",
"uuid": "УНИКАЛЬНЫЙ ID",
"version": [0, 0, 1]
},
"modules": [
{
"description": "Tutorial Resource Pack",
"type": "resources",
"uuid": "УНИКАЛЬНЫЙ ID",
"version": [0, 0, 1]
}
]
}
Мы не будем вдаваться в подробности всех настроек, но самое важное здесь — строки "uuid": "УНИКАЛЬНЫЙ ID".
Ввод этих значений обязателен, иначе система игры не сможет распознавать наборы.
Получить их достаточно легко. Нужно перейти на сайт https://www.uuidgenerator.net/version4. Введите в поле "How Many?" количество идентификаторов и нажмите кнопку "Generate".
Полученные значения вставьте вместо "УНИКАЛЬНЫЙ ID" (они не должны повторяться!) в файле manifest.json. В итоге должно получиться что-то вроде этого:
В папке набора создаем еще одну папку с именем items, в которой, собственно, и будут лежать наши предметы.
Переходим в созданную папку и создаем в ней файл названиеПредмета.json.Обратите внимание на то, что названия принято писать на латинице и использовать camelCase-стиль (либо разделять слова знаком нижнего подчеркивания '_'). Это означает, что несколько слов пишутся без пробелов, а каждое новое слово начинается с прописной буквы.
В итоге должно получиться что-то вроде следующего:
Открываем созданный файл и заполняем его следующим кодом:
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "minecraft:названиеПредмета",
"category": "Nature"
},
"components": {
"minecraft:icon": "apple",
"minecraft:use_animation": "eat",
"minecraft:render_offsets": "apple"
}
}
}
Не забудьте изменить строку "minecraft:названиеПредмета" на то название, которым вы назвали файл.
В официальной документации на Wiki сказано, что указывать "minecraft" перед идентификатором нельзя и делать это нужно только при переопределении стандартных существ и предметов.
Что же тогда указывать? Указывайте свой никнейм или название самого Add-on`а.
Таким образом правильный идентификатор будет выглядеть следующим образом: "identifier": "названиеМода:названиеПредмета"
В этом руководстве мы не будем упираться в эти стандарты, но в реальных проектах делайте именно так, иначе возможна путаница с другими сторонними дополнениями ;)
Описание переменных:- identifier - идентификатор предмета
- category - категория предмета
- Может принимать следующие значения: Equipment, Nature, Items
- minecraft:icon - иконка предмета. Про создание своей иконки для предмета вы можете прочесть в конце руководства.
- minecraft:use_animation - анимация использования:
- eat - поедания
- camera - камера
- crossbow - арбалет
- bow - лук
- eat - поедания
- minecraft:render_offsets - вид предмета в руке:
- seeds - семена
- flesh - плоть
- fishes - рыба
- melon - арбуз
- seeds - семена
У вас должно быть что-то вроде следующего:
Шаг 2. Создаем набор параметров.
Отлично! Мы создали свой предмет, но чтобы он окончательно заработал, необходимо задать ему "логику" с помощью набора параметров.
Теперь уже в папке \games\com.mojang\behavior_packs\ создаем новую папку набора поведений.
В созданной папке снова создаем файл manifest.json и папку items.
Открываем новый созданный файл manifest.json и вставляем в него следующее:
{
"format_version": 1,
"header": {
"uuid": "УНИКАЛЬНЫЙ ID",
"name": "Tutorial Data Pack",
"version": [ 1, 8, 0 ],
"description": "Tutorial resource pack 5"
},
"modules": [
{
"description": "Not Used",
"version": [ 1, 8, 0 ],
"uuid": "УНИКАЛЬНЫЙ ID",
"type": "data"
}
],
"dependencies": [
{
"uuid": "ID набора ресурсов",
"version": [0, 0, 1]
}
]
}
Заметьте, что снова нужно указать "УНИКАЛЬНЫЙ ID", который нужно создать повторно на том же сайт - https://www.uuidgenerator.net/version4.
В разделе "dependencies" нужно указать "uuid" нашего набора ресурсов. Благодаря этому можно будет активировать только набор параметров, а набор ресурсов подключится автоматически.
В итоге должно получится следующее:
Теперь идем в папку items и создаем в ней снова файл с именем названиеПредмета.json.
В созданный файл с помощью текстового редактора вставляем следующее:
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "minecraft:названиеПредмета"
},
"components": {
"minecraft:hand_equipped": false,
"minecraft:stacked_by_data": true,
"minecraft:use_duration": 32,
"minecraft:foil": true,
"minecraft:food": {
"nutrition": 4,
"saturation_modifier": "supernatural",
"can_always_eat": true,
"effects": [
{
"name": "regeneration",
"chance": 1.0,
"duration": 30,
"amplifier": 4
},
{
"name": "absorption",
"chance": 1.0,
"duration": 120,
"amplifier": 3
},
{
"name": "resistance",
"chance": 1.0,
"duration": 300,
"amplifier": 0
},
{
"name": "fire_resistance",
"chance": 1.0,
"duration": 300,
"amplifier": 0
}
]
}
}
}
}
Описание переменных и компонентов:- identifier - идентификатор предмета
- minecraft:hand_equipped - может находиться в любой руке (true/false)
- minecraft:stacked_by_data - может стакаться (true/false)
- minecraft:use_duration - продолжительность использования (целое число)
- minecraft:foil - можно использовать в качестве топлива (true/false)
- minecraft:food
- nutrition - сытость (число)
- saturation_modifier
- can_always_eat - можно всегда есть
- effects - получаемый эффект (массив)
- name - название эффекта
- chance - шанс получения (1.0 = 100%)
- duration - продолжительность (в секундах)
- amplifier - уровень эффекта
- name - название эффекта
- nutrition - сытость (число)
- minecraft:seed - позволяет сажать на грядку
- crop_result - блок, который будет размещен на грядке
- minecraft:block - предназначение этого компонента нам непонятно
- minecraft:camera - не работает на данный момент
Теперь мы можем запустить игру, активировать наборы и проверить работоспособность созданного нами предмета!
Получить предмет можно командой /give @s идентификаторПредмета (ниже есть информация о создании рецепта для предмета).
И вуаля!
А поскольку мы назначили ему компонент minecraft:food и перечислили список получаемых эффектов, то теперь предмет можно есть и получать эффекты!
В папке набора ресурсов создаем папку textures, переходим в нее и создаем в ней папку items и файл item_texture.json.
Переходим в созданную папку items и в нее помещаем иконку предмета в формате .png.
Открываем файл item_texture.json и помещаем в него следующее:
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.items",
"texture_data": {
"названиеПредмета": {
"textures": "textures/items/названиеТекстурыИконки"
}
}
}
Если нужно добавить больше иконок, то просто разделяйте запятыми, как показано под спойлером ниже:
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.items",
"texture_data": {
"названиеПредмета": {
"textures": "textures/items/названиеТекстурыИконки"
},
"myCustomItem": {
"textures": "textures/items/myCustomItem"
},
"megaSword": {
"textures": "textures/items/megaSword"
}
}
}
Примерно должно получится следующее:
Теперь у предмета есть своя иконка! Очень просто, не так ли?
Переходим в папку набора параметров и создаем в нем папку recipes, открываем эту папку и создаем в ней файл "названиеПредмета.json".
Открываем этот файл и вставляем следующий код из под спойлера ниже.
{
"format_version": "1.12",
"minecraft:recipe_shaped": {
"description": {
"identifier": "идентификаторРецепта"
},
"tags": [ "crafting_table" ],
"pattern": [
"III",
"III",
"III"
],
"key": {
"I": {
"item": "идентификаторПредмета"
}
},
"result": {
"item": "идентификаторПолучаемогоПредмета"
}
}
}
Обратите внимание, что таблица крафта в верстаке состоит из девяти ячеек. Каждой ячейке в рецепте можно назначать ключ с помощью латинской буквы (например, I) и каждому ключу назначать предмет, который необходим для крафта предмета.
Вот, что вышло у меня для этого руководства:
В итоге активирован аддон вы сможете проверить работоспособность нового крафта в верстаке!
Переходим в папку набора ресурсов и создаем в ней папку texts. Переходим в эту папку и создаем файлы для локализации:
Вводим строку перевода в следующем формате: item.идентификаторПредмета.name=Название предмета на конкретном языке
Готово!
Ссылки:- Ссылка на скачивание архива с готовым примером https://modscraft.net/uploads/mcpe/CustomItemPackv1.zip.
- Стандартный набор ресурсов (1.12.0.2) - https://aka.ms/MinecraftBetaResources
- Стандартный набор параметров (1.12.0.2) - https://aka.ms/MinecraftBetaBehaviors
На этом наш гайд завершен. Если у вас остались какие-то вопросы или вы нашли ошибку в тексте, то смело пишите об этом в комментариях!Похожие материалы
Мир Minecraft PE © 2016-2021
Наш портал создан для фанатов Майнкрафт, которые хотят быть в курсе всех последних обновлений Minecraft PE. На сайте можно скачать последнюю версию игры, моды, карты, текстуры, шейдеры, а также почитать свежие новости и изучить гайды, которые обязательно помогут в игре!