- 476
- 9
- 39
Чего-то я не то делаю, в dev среде всё запускается и всё ок, абсолютно.
А, если в обычный майн кладу мод то ошибка:
java.lang.NoClassDefFoundError: net/minecraft/util/IChatComponent
Я уже чего только не делал, даже IDE не может найти подобного класса. Как обычно взял notepad++ и он нашёл:
func_71556_a ;(Lnet/minecraft/command/ICommandSender;Ljava/lang/String; (Это из байткода. На ICommandSender он тоже ругается.)
Но как?
Это даже к asm'у не относится, лежит в абсолютно другом пакете. И всегда работало и с этим, а теперь он выдает такую ошибку.
Я проверил фордж и маппинги всё должно быть хорошо даже с этой странной строчкой(Ну да, кто в здравом уме при реобфускации будет оставлять подобные костыли?), позже как вы поняли грешил на кривую реобфускацию
При том, если явно в JVM arguments указать BarsikLoader, то мод грузится, но Hooklib'a не подгружается.
Логи здесь:
P.S Во всех этих классах указанных в логе ошибки не используется IChatComponent.
P.S.S. Сейчас подумал и возможно понял, если кормод грузится раньше всех остальных модов, то сам фордж ещё не подгрузился, а так как информация о классе осталась висеть в .class файле, значит файл форджевский, но фордж ещё не успел пропатчить сиё творение Mojang. И мод прежде времени грузится, а класса то нет - краш.
Решение мб: Разделить кормод и мод на два мода. Да бы всё грузилось нормально и весь код с asm оставить кормоду.
Сегодня уже лень тестить, попробую завтра. Ночь уже.
А, если в обычный майн кладу мод то ошибка:
java.lang.NoClassDefFoundError: net/minecraft/util/IChatComponent
Я уже чего только не делал, даже IDE не может найти подобного класса. Как обычно взял notepad++ и он нашёл:
func_71556_a ;(Lnet/minecraft/command/ICommandSender;Ljava/lang/String; (Это из байткода. На ICommandSender он тоже ругается.)
Но как?
Это даже к asm'у не относится, лежит в абсолютно другом пакете. И всегда работало и с этим, а теперь он выдает такую ошибку.
Я проверил фордж и маппинги всё должно быть хорошо даже с этой странной строчкой(Ну да, кто в здравом уме при реобфускации будет оставлять подобные костыли?), позже как вы поняли грешил на кривую реобфускацию
При том, если явно в JVM arguments указать BarsikLoader, то мод грузится, но Hooklib'a не подгружается.
Логи здесь:
java.lang.NoClassDefFoundError: net/minecraft/util/IChatComponent
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at ex.team.barsik.asm.HookLogger$SystemOutLogger.debug(HookLogger.java:22)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at ex.team.barsik.asm.HookContainerParser.parseHooks(HookContainerParser.java:39)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at ex.team.barsik.asm.HookClassTransformer.registerHookContainer(HookClassTransformer.java:29)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at ex.team.barsik.asm.loader.PrimaryClassTransformer.<init>(PrimaryClassTransformer.java:26)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at ex.team.barsik.asm.loader.PrimaryClassTransformer.<clinit>(PrimaryClassTransformer.java:17)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at java.lang.Class.newInstance(Class.java:442)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at net.minecraft.launchwrapper.LaunchClassLoader.registerTransformer(LaunchClassLoader.java:88)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:108)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: Caused by: java.lang.ClassNotFoundException: net.minecraft.util.IChatComponent
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: ... 14 more
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: Caused by: java.lang.NullPointerException
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
rintln:748]: ... 16 more
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
[23:22:49] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream
P.S Во всех этих классах указанных в логе ошибки не используется IChatComponent.
P.S.S. Сейчас подумал и возможно понял, если кормод грузится раньше всех остальных модов, то сам фордж ещё не подгрузился, а так как информация о классе осталась висеть в .class файле, значит файл форджевский, но фордж ещё не успел пропатчить сиё творение Mojang. И мод прежде времени грузится, а класса то нет - краш.
Решение мб: Разделить кормод и мод на два мода. Да бы всё грузилось нормально и весь код с asm оставить кормоду.
Сегодня уже лень тестить, попробую завтра. Ночь уже.