Как изменить характеристики брони в майнкрафт
Обновлено: 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 и нет прочих ограничений.
Предупреждение :Команды для разных версий игры различаются, потому обратите внимание на какой версии вы играете.
[Guide] Гайд по MCreator. 5 часть. Броня.
Для того что-бы сделать броню, нам нужно помучатся. Вначале, где мы создаем текстурки, нужно создать полный набор брони (по очереди шлем, штаны, и т.д). После, там где мы создаем текстуры (Resources) находим меню Create armor texture. Создаем текстурку брони.
Дальше настраиваем броню. Вставляем те текстурки которые мы сделали. Можем отключить часть брони. Или добавить ивент.
Броня для 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 итд.
Чары бесконечности, откидывания, горящая стрела, сила.
Читайте также: