Как изменить текстуру брони в майнкрафт
Я здесь новичок, пытаюсь разобраться сам, но не понимаю, куда нужно положить текстуру для своей брони и как указать её в коде.
Броня готова, текстура для каждого Item'а отдельно есть, всё работает, но на игроке броню не видно (собственно потому что я не знаю, как это сделать).
Kitoglav
DJ_RTyTb
У меня всё равно не работаетМожет быть я что-то не так указал?
P.S. Заметил, что местами перепутал, но всё равно не работает
Defamatory
Defamatory
а дак ты у тебя assets.minecraft <- папка а указываешь ты на assets.RainbowCraft_ID
DJ_RTyTb
Нет (наверно), самая обычная текстура. И да, кстати, это может зависеть от самой текстуры, если криво нарисовал, например?
Defamatory
DJ_RTyTb
Я, вроде, всё исправил, а оно всё равно не работает.
Я даже файлы на всякий случай переименовал (и для красоты) и перепроверил всё дважды.
Это может быть из-за самой текстуры?
Kitoglav
А какой размер у обеих твоих текстур?
Он должен быть кратен 64x32. (64x32/128x64/256x128/512x256 и т.д)
DJ_RTyTb
DJ_RTyTb
Теперь вопрос, который я, наверно, должен был задать в самом начале. Эта функция (getArmorTexture) должна где-то вызываться?
Попрошайка
@DJ_RTyTb Зачем тебе ее вызывать если она сама вызывается? это 1
2. Ты положил текстуры в обычный пакет minecraft, Если у тебя текстура указана как "test:textures/armor/0.jpg" то текстура будет расположена по пути /assets/test/textures/armor/0.jpg
Кому то не мешает хотябы туториалы посмотреть и понять как вообще майнкрафт текстуру достает и как ее правильно задать
DJ_RTyTb
Ну, я так и думал, что она сама вызывается, просто ничего не работает, и я уже решил проверить и это.
Насчёт пути я уже понял, спасибо. Я всё исправил, но всё по-прежнему не работает. (да, я знаю, что где-то у меня по-любому ошибка, и виноват всё равно я)
А туториалов по поводу брони я не нашёл (а те, которые нашёл, были на другую версию). Не исключено, что я и искал криво, хотя на это я потратил уже два дня.
DJ_RTyTb
Хорошая новость! Проблема решена! Помимо неправильного пути к файлу, что вы подметили (спасибо), у меня было ещё 2 ошибки:
1. Я указал неправильный индекс материала брони (или как это называется), который указывался в инициализации Item'ов (я думал, что изначально их 5, от 0 до 4, а их всего 4);
2. Я забыл указать ".jpg" в названии, которое я изменил в процессе редактирования файлов.
Всем спасибо за помощь!
Morttal
DJ_RTyTb, по сути их 5, но в java все отсчеты чисел принято начинать с 0.
Советую, создавать свои файлы ресурсов, а не пользоваться майнкрафтерскими, стандартными.(Может быть баг, если в 2ух разных модах указана папка minecraft, и название брони вдруг будет одинаковое.)
Создай свой пакет - resources/assets/modid/textures
Текстуры и модель
Начнём с сложного, а именно модели и текстуры. Создаём в папке models -> item 4 файла с названиями [ _].json и пишем в них то же самое что и в моделях предметов. Теперь текстуры брони как предмета с таким же названием кидаем в папку textures -> items. Сейчас же создаём 2 png файла с названиями [ _layer_1].jpg & [ _layer_2].jpg в папке №4. Первая картинка отвечает за верхнюю броню, это шлем и нагрудник, пример будет в самом низу. Вторые текстуры же отвечают за поножи и ботинки. Ну всё! Это было самое сложное, лично для меня
-------------------------------------------------------------------------
Java
Нужно создать 1 файл в папке №1, с названием BasicArmor и таким кодом:
public class BasicArmor extends ItemArmor
public BasicArmor(String unlocalizedName, ArmorMaterial material, int renderIndex, EntityEquipmentSlot slot) super(material, renderIndex, slot);
Теперь заходим в главный класс предметов и пишем public static ArmorMaterial MATERIAL = EnumHelper.addArmorMaterial("MATERIAL", "modid:material", durability , new int[] , enchantibylity , SoundEvents.sound );
Так мы регистрируем новый материал для брони под названием MATERIAL, далее регистрация текстуры, durability - прочность. Вычисляется по формуле
durability * 11 для шлема
durability * 16 для кирасы
durability * 15 для трусов
durability * 13 ботинки
Durability уже существующих бронь:
5 кожаная
15 железо и кольчуга
7 золото
33 алмазная броня
Защита уже существующих бронь:
new int[] для кожи (7 в общем)
new int[] кольчуга (12 в общем)
new int[] железо (15 в общем)
new int[] золото (11 в общем)
new int[] а что ещё осталось? (20 в общем - не используйте больше!!)
enchantibylity это зачаруемость. Макс 30.
И осталась добавленная в 1.9 фича - звуковой эффект при надевании.
Теперь добавляем эти вещи как предметы такими командами:
public static Item MHelmet;
public static Item MChestplate;
public static Item MLeggings;
public static Item MBoots;
Дело за предпоследним:
GameRegistry.registerItem(MHelmet = new BasicArmor("material_helmet", MATERIAL, 1, EntityEquipmentSlot.HEAD), "material_helmet");
GameRegistry.registerItem(MChestplate = new BasicArmor("material_chestplate", MATERIAL, 1, EntityEquipmentSlot.CHEST), "material_chestplate");
GameRegistry.registerItem(MLeggings = new BasicArmor("material_leggings", MATERIAL, 2, EntityEquipmentSlot.LEGS), "material_leggings");
GameRegistry.registerItem(MBoots = new BasicArmor("material_boots", MATERIAL, 1, EntityEquipmentSlot.FEET), "material_boots");
Теперь вот это в ItemRenderRegisterer
reg(ModItems.MBoots);
reg(ModItems.MLeggings);
reg(ModItems.MChestplate);
reg(ModItems.MHelmet);
Всё. У вас должно было всё выйти и если мы зайдём в игре в вкладку в креативе, мы увидим наши предметы. Но если всё же есть проблемы пишите мне в ЛП. С радостью вам отвечу!
Как изменить текстуру брони в майнкрафт
Birevan
Просто хорошие люди
Звание: Где-то рядом с нами
Это реализуемо с помощью OptiFine Custom Item Textures (сокращённо — CIT).
В пакете ресурсов переходим в путь assets/minecraft, создаём папку optifine. В папке optifine создаём папку cit. Теперь нам нужно создать несколько текстовых файлов в формате properties:
1) Для предметов брони полицейского:
policeman_helmet.properties
policeman_chestplate.properties
policeman_leggings.properties
policeman_boots.properties
2) Для моделей брони полицейского:
policeman_layer_1.properties
policeman_layer_2.properties
3) Для предметов брони пожарного:
fireman_helmet.properties
fireman_chestplate.properties
fireman_leggings.properties
fireman_boots.properties
4) Для моделей брони пожарного:
fireman_layer_1.properties
fireman_layer_2.properties
Перейдём к настройке этих предметов и моделей. Во всех файлах предметов policeman (шапки, туники, штаны и ботинки) используем следующий синтаксис:
Где minecraft:leather_helmet — идентификатор кожаной шапки (для туники используем chestplate вместо helmet, для штанов — leggings, для ботинков — boots).
В texture.leather_helmet, texture.leather_helmet_overlay и policeman_helmet также заменяем helmet на нужную часть брони для каждой из четырёх частей.
transparent_item — ссылка на абсолютно прозрачную текстуру предмета брони, предназначенной для окрашивания (я предполагаю, что текстуры, нарисованные вами, уже окрашены).
3949738 — цвет брони, окрашенной синим красителем (можете заменить на другой цвет, если хотите).
То же самое проделываем для fireman, заменяя все policeman на fireman, а 3949738 (синий краситель) — на 11546150 (красный краситель).
Далее — настройка моделей. В обоих файлах policeman_layer_*.properties (1 и 2) используем следующий синтаксис:
В файле layer_2 заменим все три единицы на 2.
То же самое проделываем для fireman, заменяя все policeman на fireman, а 3949738 (синий краситель) — на 11546150 (красный краситель).
Свойства CIT настроены, теперь время для текстур. Все текстуры необходимо положить в ту же папку с файлами properties (assets/minecraft/optifine/cit):
policeman_helmet.jpg — текстура предмета шапки полицейского
policeman_chestplate.jpg — текстура предмета туники полицейского
policeman_leggings.jpg — текстура предмета штанов полицейского
policeman_boots.jpg — текстура предмета ботинков полицейского
fireman_helmet.jpg — текстура предмета шапки пожарного
fireman_chestplate.jpg — текстура предмета туники пожарного
fireman_leggings.jpg — текстура предмета штанов пожарного
fireman_boots.jpg — текстура предмета ботинков пожарного
policeman_layer_1.jpg — текстура первой части брони полицейского
policeman_layer_2.jpg — текстура второй части брони полицейского
fireman_layer_1.jpg — текстура первой части брони пожарного
fireman_layer_2.jpg — текстура второй части брони пожарного
Нам нужно создать текстуру для брони. Чтобы сделать текстуру как показано ниже, зайдите в корневую папку .minecraft --> version --> файл 1.12.2.jar (открыть с помощью WinRar) и идём по пути: 1.12.2.jar\assets\minecraft\textures\models\armor и выбираем любой слот кроме chainmail_layer_1 и в Photoshop или в Paint перерисовываем по своему вкусу.
Положим наши текстуры по пути:
Запускаем игру, выдаём себе броню и надеваем.
В данном разделе вы научитесь создавать броню с моделью, т.е. не такую как мы в статье выше делали, а именно с моделью.
Создадим модель брони. Это можно сделать с помощью CubikStudio (Временно не рекомендуется, так как модели криво экспортируются) | Qubble | Tabule.
Пример моей брони:
Если вы хотите, чтобы части брони двигались вместе с игроком, нужно делать привязку к родителю. К примеру мы хотим чтобы наш шлем вращался вместе с головой, значит
Чем больше переменных элемента брони, тем больше привязок к родителю!Добавим в наш класс ItemMagicArmor метод getArmorModel().
Перейдём в класс ItemsRegister и создадим переменную armorModels.
Добавим в метод register() такой код:
Если вы хотите добавить текстуру к своей броне, то вам нужно создать метод в ItemMagicArmor:
Заходим в игру и надеваем нашу броню из прошлого урока.
Читайте также: