Как изменить характеристики брони в майнкрафт

Обновлено: 30.06.2024

Текстуры и модель


Начнём с сложного, а именно модели и текстуры. Создаём в папке 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);

Всё. У вас должно было всё выйти и если мы зайдём в игре в вкладку в креативе, мы увидим наши предметы. Но если всё же есть проблемы пишите мне в ЛП. С радостью вам отвечу!

В моддинге на minecraft новичек. Можно ли как нибудь изменить характеристики стандартных предметов, мобов и.т.д? Например: увеличить количество здоровья у крипера. До сих пор не понял как это сделать. Заранее спасибо.

Мираж

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

Вамиг Алиев

Да, можно. Один из способов - так называемые "хуки", с помощью которых меняют исходный код Майнкрафта. Отличной и простой, на мой взгляд, является эта библиотека HookLib: [Гайд][Легко][1.6+] Модификация чужого кода при запуске (трансфомеры). Автор библиотеки в теме подробно объяснил, как ей пользоваться, в коде библиотеки также много комментариев. В теме есть пример с уменьшением показателей брони в 2 раза.

Например, Вы хотите уменьшить здоровье Крипера. Открываете класс Крипера.

Осматриваете его. Далее путем анализа делаете вывод, что нужно хуком добавить в класс метод getMaxHealth(), чтобы перезаписать одноименный метод из super-класса EntityLivingBase.

Вообще, хуки для того и нужны, чтобы менять код игры.

Dahaka

Нет, это слишком костыль. Можно поймать PlayerConstructingEvent и добавить атрибутам свои модификаторы.

Команды для Майнкрафт 1.14.4-1.16.5+

Имеет 2507 урона, чары починки, прочности, добычи огромного уровня.

Имеет чары бесконечности, прочности, силы огромного уровня.

Супер кирка, топор, лопата, мотыга:

Имеет чары прочности, удачи, починки, эффективности высоких уровней. Для смены инструмента измените diamond_pickaxe на diamond_axe, diamond_shovel, diamond_hoe и название соответственно.

Изменяемая прочность

Я уж всех заип своими вопросами, но не к кому больше обратиться.
Дамагаю свой итем в методе так
gunStack.setItemDamage(gunStack.getItemDamage() + 1);
Он дамажит исправно, но предмет дергается при смене прочности.
а если дамажить вот так
gunStack.damageItem(1, entityplayer);
то прочность не меняется
В чем проблема метода damageItem?
Глядел в код меча, лука, там все именно так и делается, но прочность у меня не меняется.

hohserg



В 1.12.2 этот метод, в 1.7.10 тоже было, но не помню название

Новая рандомная ава топовая) Ender'sMagic 1.4b - УРААА!))


Таумкрафт 6 - ураа!
Пишу на Scala
Какая ирония: написание тутора позволяет понять тему лучше, чем его чтение
Test BB-code

fukkivdan

Странно но не работает. Никто не знает другой метод?

fukkivdan
hohserg



Новая рандомная ава топовая) Ender'sMagic 1.4b - УРААА!))


Таумкрафт 6 - ураа!
Пишу на Scala
Какая ирония: написание тутора позволяет понять тему лучше, чем его чтение
Test BB-code

fukkivdan

Нету ничего. Связанное с прочкой только дисплейные вещи.
shouldRotateAroundWhenRendering()
Ну уж совсем не то

fukkivdan

Наконец то нашел в тему в которой о великий фолкен отписался, что прочность можно сделать через нбт. Как?
В методе который у меня вызывается на лкм, уменьшать переменную? И потом на дисплее отображать проценты?
Или как. Кто с этим работал

Rebel Penguin


fukkivdan

Java:
@Override
public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) return true;
>

это вообще не то. Предмет не дергается когда прочность не меняется. Дергается когда меняется. Эт вообще не тот метод.
Вопрос как прочность с помощью нбт делать лол

Rebel Penguin


Это должно убрать дёрганье(если не работает, попробуй вернуть false)

fukkivdan

Это должно убрать дёрганье(если не работает, попробуй вернуть false)

я тебе говорю это не то. Оно убирает дерганье когда кликаешь лкм просто.

fukkivdan

Собственно, решил сам и сделал через нбт.
Создаете просто нбт интегер, и в вашем вызываемом методе изменяете его вот так gun.stackTagCompound.setInteger("Прочность", durab--);
Дюраб это сокращение от дюрабилити
gun.stackTagCompound.setInteger("Прочность", durab);
так создаете интегер. дюраб он автоматом берет из вашего вызываемого метода и меняется.

fukkivdan

Однако, предметы с одинаковым айди, у них нбт изменяется странно.
Например есть 2 меча рубиновых. Я им добавил нбт интегер.
В онапдейте ставлю новый интегер так
itemstack.stackTagCompound.setInteger("Прочность", maxDurab);
maxDurab обьявил как инт = 1000
Но для двух предметов с одинаковым айди, нбт изменяется одинаково. В чем проблема?

Eifel


Неплохо было бы посмотреть полный код. Может быть у тебя какая-то переменная оглашена в классе предмета и ты используешь ее в НБТ, тогда она будет одинаковой для всех таких предметов, ибо экземпляр предмета создается лишь раз

Eifel


Брать значение из стака, типа int par = stack.getNBTTagCompound().getInteger("my_int"); stack.getNBTTagCompound().setInteger("my_int", --par); . Думаю суть ты уловил

Получить супер меч, инструменты и броню, /give команды для очень мощных зачарованных предметов [1.17.1] [1.16.5] [1.12.2]

Получить супер меч, инструменты и броню, /give команды для очень мощных зачарованных предметов [1.17.1] [1.16.5] [1.12.2]

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

Предупреждение :
Команды для разных версий игры различаются, потому обратите внимание на какой версии вы играете.

[Guide] Гайд по MCreator. 5 часть. Броня.

Для того что-бы сделать броню, нам нужно помучатся. Вначале, где мы создаем текстурки, нужно создать полный набор брони (по очереди шлем, штаны, и т.д). После, там где мы создаем текстуры (Resources) находим меню Create armor texture. Создаем текстурку брони.

[Guide] Гайд по MCreator. 5 часть. Броня.

Дальше настраиваем броню. Вставляем те текстурки которые мы сделали. Можем отключить часть брони. Или добавить ивент.

[Guide] Гайд по MCreator. 5 часть. Броня.

Броня для 1.12.2:

Вся броня зачарована на защиту, огнеупорность, невесомость, взрывоустойчивость, защиту от снарядов, подводное дыхание, подводник, прочность 5555 уровня
Супер шлем:

Супер нагрудник:

Супер штаны:

Супер ботинки:

Команды для Minecraft 1.12.2

Команду необходимо вводить в чат, просто скопируйте ее и вставьте в чат игры.

Меч будет иметь 5007 урона, зачарован на добычу 999 уровня, остроту и прочность 9999 уровня. Вы можете убрать чары удалив, например , для убирания чар добычи. Вы можете изменить diamond_sword на golden_sword или wooden_sword итд.

Супер кирка:

Меч будет иметь 5007 урона, зачарован на эффективность 999 уровня, удачу и прочность 999 уровня. Вы можете убрать чары удалив, например , для убирания чар эффективности. Вы можете изменить diamond_pickaxe на golden_pickaxe или wooden_pickaxe итд.

Чары бесконечности, откидывания, горящая стрела, сила.

Читайте также: