Чужой моб

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.12.2

sk9zist :l

Исправился
981
18
157
Ой простите правда что пложу темы..
Есть допустим чужой мод и чужой мод, есть мод Cyberware и моб Cyber Zombie,
как одевать броню на этого моба из чужого мода при спавне?
Я попробовал сначала одевать броню на всех мобов но не получилось:

Java:
@SubscribeEvent
public void onArmorSpawn(EntityJoinWorldEvent e)
{
    //EntityZombie to = ((EntityZombie) e.getEntity());
    ItemStack headcrab = new ItemStack(Items.IRON_HELMET);
    e.getEntity().setItemStackToSlot(EntityEquipmentSlot.HEAD, headcrab);
}
знаю делаю неправильно.
при заходе в мир оно естественно одеваеться и у самого игрока, происходит звук одевания брони и вылетает
Помогите пожалуйста
 
Решение
если твой код рабочий, то...

Java:
@SubscribeEvent
public void onArmorSpawn(EntityJoinWorldEvent e)
{
    if(e.getEntity() instanceof EntityZombie) {
        //EntityZombie to = ((EntityZombie) e.getEntity());
        ItemStack headcrab = new ItemStack(Items.IRON_HELMET);
        e.getEntity().setItemStackToSlot(EntityEquipmentSlot.HEAD, headcrab);
    }
}

А на будущее, выкладывай лог ошибки.. чтение мыслей на расстоянии работает не всегда

А на счет этого..
Есть допустим чужой мод и чужой мод, есть мод Cyberware и моб Cyber Zombie
тебе надо добавить в зависимости мода этот мод, добавить jar мода как либу и вместо instanceof EntityZombie, написать EntityCyberZombie...
1,038
57
229
если твой код рабочий, то...

Java:
@SubscribeEvent
public void onArmorSpawn(EntityJoinWorldEvent e)
{
    if(e.getEntity() instanceof EntityZombie) {
        //EntityZombie to = ((EntityZombie) e.getEntity());
        ItemStack headcrab = new ItemStack(Items.IRON_HELMET);
        e.getEntity().setItemStackToSlot(EntityEquipmentSlot.HEAD, headcrab);
    }
}

А на будущее, выкладывай лог ошибки.. чтение мыслей на расстоянии работает не всегда

А на счет этого..
Есть допустим чужой мод и чужой мод, есть мод Cyberware и моб Cyber Zombie
тебе надо добавить в зависимости мода этот мод, добавить jar мода как либу и вместо instanceof EntityZombie, написать EntityCyberZombie.
 
Последнее редактирование:

sk9zist :l

Исправился
981
18
157
А на будущее, выкладывай лог ошибки.. чтение мыслей на расстоянии работает не всегда
у меня hs err pid, думаю это означает краш джавы..
тебе надо добавить в зависимости мода этот мод
давно хотел так сделать,
спасибо, сейчас попробую!
 

sk9zist :l

Исправился
981
18
157
2019-12-09_15.22.02.png
Я проверил ещё 3 часа назад, всё работает, на счёт этого спасибо! :D

Но вот с зависимостями возникла проблема, сначала я в mcmod.info установил dependencies (загружаемые перед самим модом) и requireMods
Потом скачал соурс Cyberware мода с официал www.curseforge.com/minecraft/mc-mods/roboticparts
и поместил в src/main/java
Но там одни ошибки, я уж не стал показывать вам что с файлами внутри..
screenshot.12346.jpg
Попытался исправить ошибки внутри по порядку, исправил только .getIndex на .getTabIndex в одном файле связанным с табом мода
Поможете?
 
7,099
324
1,510
jar мода нужно поместить в ./libs/
Сорцы мода помещать в проект имеет смысл только если делаешь форк
 

sk9zist :l

Исправился
981
18
157
Последнее редактирование:
1,038
57
229
тебе надо скачать сам мод как jar с офицального сайта, поместить его в libs, добавить в зависимости проекта и в зависимости мода (мода как я понял ты уже прописал)
Никаких *.java скачивать не нужно, я дал лишь ссылку для того чтобы лучше осмотреть исходник зомби, раз уж он есть. Может там отличается способ одевания шлема, может есть свой слот и т.д.
ну и добавить в build.gradle, папку libs, тут где то уже советовали как (сам не пробовал). Я работаю в IntelliJ и там же собираю проекты, и либы не требуется прописывать отдельно.
 

sk9zist :l

Исправился
981
18
157
поместить его в libs,
значит эту папку надо самому создавать в корне проекта.. Сразу бы сказал
а ещё, тогда ведь неполучить запустить и протестить прямо в эклипсе, надо обязательно компилить?(
Никаких *.java скачивать не нужно
Ты неправильно понял
ну и добавить в build.gradle, папку libs, тут где то уже советовали как (сам не пробовал)
Поищу в других темах, а так спасибо за развёрнутый ответ :)
Правда спасибо
 
Последнее редактирование:

sk9zist :l

Исправился
981
18
157
Написал v build.gradle
Gradle:
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
Также попробовал:
Gradle:
dependencies {
    compile fileTree(dir: './libs/', include: ['*.jar'])
}
Скомпилен просто файл моего мода
 
1,038
57
229
ну так и должно быть, ведь он скомпилился без ошибок зная кто такой EntityCyberZombie. Хотя он не твой.
можно переходить к тестированию на клиенте..
 

sk9zist :l

Исправился
981
18
157
а если без мода cyberware играть он просто крашит при заходе в мир, даже не спрашивает при загрузке что он необходим.
Вот mcmod.info:
mcmod.info:
[
  {
    "modid": "zon",
    "name": "Zombie On Armor",
    "version": "1.12.2",
    "mcversion": "1.12.2",
    "credits": "created specifically for the server: Violet Craft",
    "authorList": ["Hannibal"],
    "url": "http://www.fract.crick.ru",
    "updateUrl": "",
    "screenshots": [],
    "requiredMods": [ "Forge", "cyberware" ],
    "dependencies": [ "cyberware" ]
  }
]
специально посмотрел в src cyberware какой у него точный modid.. Но если бы даже я ввёл неправильный, майнкрафт бы всё равно попросил установить нужный неправильный мод
 

sk9zist :l

Исправился
981
18
157
Спасибо!! :D Прям хочеться лучший ответ тебе дать, я действительно даже не знал почему например другие моды которые требовали меня установить нужные им зависимости - у них не было в dependencies и requiredMods (этого вообще не было)
 

sk9zist :l

Исправился
981
18
157
Спасибо всем!!
2019-12-10_15.17.16.pngt
даже незнал кому дать лучший ответ, все помогли. Закрываю тему
@Agravaine :j извеняюсь ещё раз
screenshot.12348.jpg
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху