В этом гайде вы сделаете Рубиновый нагрудник и узнаете, как превратить его в полный комплект из четырёх частей. Броня - первый предмет, где и пакет поведения, и пакет ресурсов делают большую работу: BP решает, насколько хорошо она защищает, а RP решает, как она выглядит на теле игрока, а не только в инвентаре.
Этот гайд продолжает Ваш первый предмет. Если значки, текстуры и lang-файлы для вас в новинку, сначала прочитайте его.
Быстрый способ: GodCraft
GodCraft делает все четыре части сразу, вместе с видом на игроке, так что самый сложный файл этого гайда вы пропускаете.
- Откройте Мастерскую и добавьте в свой аддон Броню.
- Нарисуйте значки и текстуру надетой брони в пиксельном редакторе.
- Задайте защиту, прочность и предметы для починки каждой части.
- Нажмите Экспорт и примерьте комплект в игре.
Готовы посмотреть на файлы? Поехали.
Как устроена броня
Каждой части брони нужны три вещи:
| Часть | Пакет | Что делает |
|---|---|---|
| Файл предмета | BP | В какой слот она надевается, насколько защищает, прочность |
| Значок | RP | Маленькая картинка в инвентаре |
| Attachable | RP | 3D-модель и текстура, которые рисуются на теле, когда броня надета |
Мы используем пространство имён myname. Везде замените его на своё.
Вручную
Шаг 1: файл предмета
{
"format_version": "1.26.30",
"minecraft:item": {
"description": {
"identifier": "myname:ruby_chestplate",
"menu_category": {
"category": "equipment",
"group": "minecraft:itemGroup.name.chestplate"
}
},
"components": {
"minecraft:icon": {
"textures": {
"default": "myname_ruby_chestplate"
}
},
"minecraft:display_name": {
"value": "item.myname:ruby_chestplate.name"
},
"minecraft:max_stack_size": 1,
"minecraft:wearable": {
"slot": "slot.armor.chest",
"protection": 7
},
"minecraft:durability": {
"max_durability": 500
},
"minecraft:enchantable": {
"slot": "armor_torso",
"value": 12
},
"minecraft:repairable": {
"repair_items": [
{
"items": ["myname:ruby"],
"repair_amount": "query.max_durability * 0.25"
}
]
},
"minecraft:tags": {
"tags": ["minecraft:is_armor"]
}
}
}
}Самое важное:
minecraft:wearableи делает предмет бронёй.slot- куда она надевается, аprotection- сколько очков брони она добавляет на шкалу над здоровьем. Каждый полный значок брони - это 2 очка.minecraft:durability- сколько ударов она выдержит, прежде чем сломается.minecraft:enchantableиспользует названия слотов брони, поэтому на неё можно наложить Защиту и другие чары для брони.minecraft:repairableпозволяет игрокам чинить её на наковальне рубином.minecraft:tagsпомечает её как броню.minecraft:max_stack_sizeравен 1. В слоте брони стопка и так будет из одного предмета, но так понятнее.
Шаг 2: остальные три части
Скопируйте файл нагрудника три раза и поменяйте в каждой копии эти значения:
| Часть | slot (wearable) | slot (enchantable) | Защита алмазной брони, для сравнения |
|---|---|---|---|
| Шлем | slot.armor.head | armor_head | 3 |
| Нагрудник | slot.armor.chest | armor_torso | 8 |
| Поножи | slot.armor.legs | armor_legs | 6 |
| Ботинки | slot.armor.feet | armor_feet | 3 |
Не забудьте поменять идентификатор, значок и отображаемое название, а также выбрать подходящую группу творческого режима (helmet, leggings или boots вместо chestplate).
Шаг 3: текстура надетой брони
Броня на теле использует другую текстуру, больше, чем значок. Она устроена как ванильные файлы брони: PNG размером 64x32, который оборачивается вокруг тела. Ваниль делит каждый комплект на два слоя:
- Слой 1 (
ruby_1.png): шлем, нагрудник и ботинки. - Слой 2 (
ruby_2.png): поножи.
64x32 PNG: the helmet, chestplate and boots parts64x32 PNG: the leggings partsПроще всего не ошибиться с раскладкой, если взять ванильные diamond_1.png и diamond_2.png и рисовать поверх них. Советы по рисованию есть в гайде Пиксельные текстуры.
Шаг 4: attachable
Attachable говорит игре, что рисовать на игроке, когда предмет надет или в руке. Создайте папку attachables в пакете ресурсов:
{
"format_version": "1.10.0",
"minecraft:attachable": {
"description": {
"identifier": "myname:ruby_chestplate",
"materials": {
"default": "armor",
"enchanted": "armor_enchanted"
},
"textures": {
"default": "textures/models/armor/ruby_1",
"enchanted": "textures/misc/enchanted_actor_glint"
},
"geometry": {
"default": "geometry.humanoid.armor.chestplate"
},
"scripts": {
"parent_setup": "variable.chest_layer_visible = 0.0;"
},
"render_controllers": ["controller.render.armor"]
}
}
}Строка за строкой:
identifierдолжен в точности совпадать с ID предмета. Так игра связывает attachable с предметом.materialsи текстураenchantedнужны, чтобы на зачарованной броне появлялось фиолетовое мерцание.textures.default- ваша текстура надетой брони, без.png.geometryиспользует встроенную ванильную модель брони, так что 3D-модель делать не нужно.parent_setupпрячет ванильный слой брони на этой части тела, чтобы поверх вашей ничего не рисовалось.render_controllersиспользует ванильный контроллер брони.
Для остальных частей поменяйте три значения:
| Часть | geometry | parent_setup | Текстура |
|---|---|---|---|
| Шлем | geometry.humanoid.armor.helmet | variable.helmet_layer_visible = 0.0; | ruby_1 |
| Нагрудник | geometry.humanoid.armor.chestplate | variable.chest_layer_visible = 0.0; | ruby_1 |
| Поножи | geometry.humanoid.armor.leggings | variable.leg_layer_visible = 0.0; | ruby_2 |
| Ботинки | geometry.humanoid.armor.boots | variable.boot_layer_visible = 0.0; | ruby_1 |
Шаг 5: значки и названия
Добавьте по одному значку на каждую часть в item_texture.json (внутри texture_data) и сохраните значки 16x16 в RP/textures/items/:
"myname_ruby_helmet": { "textures": "textures/items/ruby_helmet" },
"myname_ruby_chestplate": { "textures": "textures/items/ruby_chestplate" },
"myname_ruby_leggings": { "textures": "textures/items/ruby_leggings" },
"myname_ruby_boots": { "textures": "textures/items/ruby_boots" }item.myname:ruby_helmet.name=Ruby Helmet
item.myname:ruby_chestplate.name=Ruby Chestplate
item.myname:ruby_leggings.name=Ruby Leggings
item.myname:ruby_boots.name=Ruby BootsПроверьте
- Загрузите пакеты в мир (смотрите Экспорт и установка).
- Выполните /give для каждой части, например
/give @s myname:ruby_chestplate. - Наденьте её и посмотрите на шкалу брони. Нажмите F5 на ПК или смените вид камеры в настройках, чтобы посмотреть со стороны.
Невидимая броня?
Если шкала брони растёт, но саму броню не видно, с BP всё в порядке, а проблема в attachable. Проверьте, что identifier в attachable совпадает с ID предмета и что путь к текстуре верный.
Если что-то не работает
| Что вы видите | Самая вероятная причина |
|---|---|
| Броню нельзя надеть | Нет minecraft:wearable, или в slot опечатка |
| Надетая броня невидима | Неверный идентификатор attachable или путь к текстуре |
| Выглядит перемешанной | Текстура надетой брони разложена не как ванильная текстура брони 64x32, или часть использует не тот слой |
| Розово-чёрная текстура на теле | Путь к текстуре в attachable указывает на несуществующий файл |
Другие решения есть в разделе Когда что-то сломалось. Дальше дайте игрокам скрафтить комплект с помощью гайда Рецепты крафта и печи или добавьте к нему Рубиновый меч.