Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Решено Industrial Craft 1.6.2 не отображается броня

Тема в разделе "[Архив] Помощь", создана пользователем LordBekketPro, 20 май 2014.

Статус темы:
Закрыта.
  1. Автор темы
    LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Версия мода - 1.118.401-lf для minecraft 1.6.2, IC обычный, не экспериментальный, версия мода последняя вроде как. Уже была тема про этот баг (так и не решённая) - не отображается броня - видна в виде черно-розового полотна.

    Я уже знаю, в чём проблема, это ошибка в классе ItemArmorIC2.class (\ic2\core\item\armor\ItemArmorIC2.class), вот код с ошибкой (декомпилированный класс):

    public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
    {
    int suffix = this.field_77881_a == 2 ? 2 : 1;
    return "/armor/ic2/textures/armor/" + this.armorName + "_" + suffix + ".png";
    }

    Как тут видно, путь к текстуре вообще неверно указан - /armor/ic2/textures/armor/
    Если хотя бы слеш в начале убрать, то можно ошибку исправить (просто переложить текстуры в другую папку)

    А теперь собственно вопрос. Как это сделать?

    Пробовал в InClassTranslator - но теперь мод не проходит проверку по sha1 (в манифесте который прописан). Удаление манифеста/сертификатов/sha1 ведёт просто к вылету майна. Пробовал декомпилировать и снова скомпилировать - вылезла куча ошибок, которые не один день исправлять

    Может надо как-то по-особому декомпилировать? Или обойти как-то проверку сертификатов?

    Если у кого-то есть исправленный мод для 1.6.2 или исходники его (рабочие без ошибок), прошу помощи. Заранее спасибо

    Переходить на другую версию майна или на эксперименталку не предлагать
     
    Последнее редактирование: 20 май 2014
  2. Хостинг MineCraft
    <
  3. Автор темы
    LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Никто не может помочь или подсказать, как это сделать? Нужно лишь подправить ic2\core\item\armor\ItemArmorIC2.class
     
  4. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
    Когда сам компилишь ,нужно пихать не весь твой скомпиленный мод а пихнуть в оригинал те классы которые ты изменял дабы избежать ошибок. Тут можно обойтись инкласстранслитом ,поменяв там значение ,а метаинфу не надо удалять ,удалить только сертификаты в ней ,оставив MANIFEST
     
    LordBekketPro нравится это.
  5. Сергуня

    Сергуня Участник Пользователь

    Баллы:
    33
    Skype:
    p620_pidar.ru
    Имя в Minecraft:
    p620_pidar
    Когда сам компилишь ,нужно пихать не весь твой скомпиленный мод а пихнуть в оригинал те классы которые ты изменял дабы избежать ошибок. Тут можно обойтись инкласстранслитом ,поменяв там значение ,а метаинфу не надо удалять ,удалить только сертификаты в ней ,оставив MANIFEST
    1.В настройки зайди и корректируй.
    2.Броню пропадает из за того что не настроен мод или он некоректен!
     
  6. Автор темы
    LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Удалил сертификаты, но по этому поводу возмутился Forestry:

    2014-05-22 19:46:34 [SEVERE] [Forestry] ic2.core.IC2 failed validation. Halting runtime for security reasons. Please replace your mods with untampered versions from the official download sites.

    Игра, ес-но, не запустилась. Без Forestry всё нормально, но Forestry нужен, его убирать нельзя. Надо что-то подправить в исходнике Forestry?
     
  7. dirt34

    dirt34 Старожил Пользователь

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    там нужно выпилить так называемую лицензию.
     
    LordBekketPro нравится это.
  8. Автор темы
    LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Как?
    И где?[DOUBLEPOST=1400782019,1400781341][/DOUBLEPOST]Нашёл такую функцию в файле forestry/pugins/PlaginCore.class:

    Код:
    public void $xpXJoJvjnTpOPUDNOZ$()
        {
          try
          {
            Class core = Class.forName($hdxcJkicdou$());
            if (core != null)
            {
              Certificate[] cert = core.getProtectionDomain().getCodeSource().getCertificates();
              if ((cert == null) || (!Utils.getFingerprint(cert[0]).equals(new String(this.fingerprint))))
              {
                Proxies.log.severe("%s failed validation. Halting runtime for security reasons. Please replace your mods with untampered versions from the official download sites.", $hdxcJkicdou$());
               
    
                Runtime.getRuntime().halt(1);
              }
            }
          }
          catch (ClassNotFoundException ex) {}
        }
    
    Я так понимаю, надо удалить строчку Runtime.getRuntime().halt(1); Я прав?

    Только я наверное что-то не так делаю, так как после компиляции игра вылетает, краш такой:

    Код:
    Description: There was a severe problem during mod loading that has caused the game to fail
    2014-05-22 21:38:51 [INFO] [STDOUT] 
    2014-05-22 21:38:51 [INFO] [STDOUT] cpw.mods.fml.common.LoaderException: java.lang.NoSuchMethodError: forestry.core.items.ItemForestry.setUnlocalizedName(Ljava/lang/String;)Lnet/minecraft/item/Item;
    2014-05-22 21:38:51 [INFO] [STDOUT]     at cpw.mods.fml.common.LoadController.transition(LoadController.java:149)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at cpw.mods.fml.common.Loader.loadMods(Loader.java:522)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:182)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:470)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at net.minecraft.client.main.Main.main(SourceFile:101)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at java.lang.reflect.Method.invoke(Unknown Source)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
    2014-05-22 21:38:51 [INFO] [STDOUT]     at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
    2014-05-22 21:38:51 [INFO] [STDOUT] Caused by: java.lang.NoSuchMethodError: forestry.core.items.ItemForestry.setUnlocalizedName(Ljava/lang/String;)Lnet/minecraft/item/Item;
    2014-05-22 21:38:51 [INFO] [STDOUT]     at forestry.plugins.PluginCore.registerItems(PluginCore.java:173)
    [DOUBLEPOST=1400782420][/DOUBLEPOST]
    Я написал в первом сообщении темы, почему пропадает броня. Источник проблемы я знаю, надо только её решить[DOUBLEPOST=1400788122][/DOUBLEPOST]Всё, справился, броня отображается. Все спасибо за помощь
     
    Лайка нравится это.
Статус темы:
Закрыта.

Поделиться этой страницей