Hi everyone, just wanna state this is my first thread so sorry if I miss anything.
So I'm using EnderIO as an optional dependency for one of my mods so that I add an item (which has it's own class and uses an interface from EnderIO) when EnderIO exists in a pack. It works fine after I build the mod and use it in an actual pack. However I cannot run the dev environment due to EnderCore throwing me an error of it trying to call a method which is incorrectly named (down to obfuscation I believe?). This is very annoying and makes testing my mod a pain.
The error when running my dev environment shows EnderCore is trying to translate using I18n, but the method is obfuscated. Here's the error:
[13:56:56] [Client thread/ERROR]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
[13:56:56] [Client thread/ERROR]:
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
UCH FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar)
UCH Forge{12.17.0.1959} [Minecraft Forge] (forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar)
UCE endercore{1.9.4-0.4.0.26-alpha} [EnderCore] (EnderCore-1.9.4-0.4.0.26-alpha.jar)
UCE EnderIO{1.9.4-3.0.0.46_alpha} [Ender IO] (EnderIO-1.9.4-3.0.0.46_alpha.jar)
UCH SparksHammers{1.9.4-1.3.1} [Spark's Hammers] (SparksHammers)
UCH MobHunter{1.9.4-0.1.5.3} [Mob Hunter] (MobHunter-1.9.4-0.1.5.3.jar)
UCH JEI{3.6.3.212} [Just Enough Items] (jei_1.9.4-3.6.3.212.jar)
[13:56:56] [Client thread/ERROR]: The following problems were captured during this phase
[13:56:56] [Client thread/ERROR]: Caught exception from endercore
java.lang.NoSuchMethodError: net.minecraft.util.text.translation.I18n.func_74837_a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
at com.enderio.core.common.Lang.localizeExact(Lang.java:80) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.Lang.localize(Lang.java:52) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.AbstractConfigHandler.addCommentDetails(AbstractConfigHandler.java:545) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.ConfigProcessor.getConfigValue(ConfigProcessor.java:294) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.ConfigHandler$1.getConfigValue(ConfigHandler.java:146) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.ConfigProcessor.processField(ConfigProcessor.java:232) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.ConfigProcessor.process(ConfigProcessor.java:207) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.ConfigHandler.init(ConfigHandler.java:161) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.common.config.AbstractConfigHandler.initialize(AbstractConfigHandler.java:89) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at com.enderio.core.EnderCore.preInit(EnderCore.java:102) ~[EnderCore-1.9.4-0.4.0.26-alpha.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:568) ~[forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:228) ~[forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:206) ~[forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:587) [Loader.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:249) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:475) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:384) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
[13:56:56] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:646]: ---- Minecraft Crash Report ----
// But it works on my machine.
Time: 31/07/16 13:56
Description: There was a severe problem during mod loading that has caused the game to fail
net.minecraftforge.fml.common.LoaderException: java.lang.NoSuchMethodError: net.minecraft.util.text.translation.I18n.func_74837_a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
at net.minecraftforge.fml.common.LoadController.transition(LoadController.java:179)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:590)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:249)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:475)
at net.minecraft.client.Minecraft.run(Minecraft.java:384)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)
Caused by: java.lang.NoSuchMethodError: net.minecraft.util.text.translation.I18n.func_74837_a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
at com.enderio.core.common.Lang.localizeExact(Lang.java:80)
at com.enderio.core.common.Lang.localize(Lang.java:52)
at com.enderio.core.common.config.AbstractConfigHandler.addCommentDetails(AbstractConfigHandler.java:545)
at com.enderio.core.common.config.ConfigProcessor.getConfigValue(ConfigProcessor.java:294)
at com.enderio.core.common.config.ConfigHandler$1.getConfigValue(ConfigHandler.java:146)
at com.enderio.core.common.config.ConfigProcessor.processField(ConfigProcessor.java:232)
at com.enderio.core.common.config.ConfigProcessor.process(ConfigProcessor.java:207)
at com.enderio.core.common.config.ConfigHandler.init(ConfigHandler.java:161)
at com.enderio.core.common.config.AbstractConfigHandler.initialize(AbstractConfigHandler.java:89)
at com.enderio.core.EnderCore.preInit(EnderCore.java:102)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:568)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:228)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:206)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:587)
... 16 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.9.4
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 204495912 bytes (195 MB) / 818937856 bytes (781 MB) up to 3808428032 bytes (3632 MB)
JVM Flags: 0 total;
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.28 Powered by Forge 12.17.0.1959 8 mods loaded, 8 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
UCH FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar)
UCH Forge{12.17.0.1959} [Minecraft Forge] (forgeSrc-1.9.4-12.17.0.1959-PROJECT(SparksHammers).jar)
UCE endercore{1.9.4-0.4.0.26-alpha} [EnderCore] (EnderCore-1.9.4-0.4.0.26-alpha.jar)
UCE EnderIO{1.9.4-3.0.0.46_alpha} [Ender IO] (EnderIO-1.9.4-3.0.0.46_alpha.jar)
UCH SparksHammers{1.9.4-1.3.1} [Spark's Hammers] (SparksHammers)
UCH MobHunter{1.9.4-0.1.5.3} [Mob Hunter] (MobHunter-1.9.4-0.1.5.3.jar)
UCH JEI{3.6.3.212} [Just Enough Items] (jei_1.9.4-3.6.3.212.jar)
Loaded coremods (and transformers):
EnderCorePlugin (EnderCore-1.9.4-0.4.0.26-alpha.jar)
com.enderio.core.common.transform.EnderCoreTransformer
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 353.82' Renderer: 'GeForce GTX 760/PCIe/SSE2'
[13:56:56] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:646]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\brigh\Desktop\Projects\Minecraft Modding\1.9\SparksHammers\run\.\crash-reports\crash-2016-07-31_13.56.56-client.txt
Disconnected from the target VM, address: '127.0.0.1:63602', transport: 'socket'
Process finished with exit code -1
How can I fix this so that I can successfully test in my dev environment?
I just have EnderCore and EnderIO (plus MobHunter) in my /libs folder, and JEI is added using build.gradle.
Hopefully everything needed is in the error message. If you need anything else, please ask.
Hmm well due to the way I'm using the other mod, I don't need to strip interfaces. The only time this class gets used is if the mod is present, so it's safe as is. I think my issue is down to not having a linked source. I'll see if I can download the source from EnderIO's GitHub and see how that goes, however I'm using Idea so I won't be able to follow the instructions exactly. I'll get back with results.
So I managed to add the sources for EnderCore... however, it did not stop the error from happening. It's still giving the same error
I started using Idea because when I was using Eclipse a while ago at Uni, I was using it for Android app dev. However I found after Uni that Eclipse's support for Android dev was being dropped and Idea had an officially supported software based on the basic Idea platform. So I started using that, and I thought since I'd be using that, I might as well move all my Java dev to Idea too, and I haven't looked back. I personally prefer the look and feel of the IDE over Eclipse and it's been really great to use. I don't know what advantages there may be, but I just personally prefer it over Eclipse.
Obfuscated mods should be deobfuscated at runtime by FML in the development environment. This was added by this commit in 1.8.9.
I can confirm that this isn't working for EnderCore, I'll file a bug report with Forge. Do note that it's extremely unlikely to be fixed for 1.9.4, only 1.10.2 is supported and actively developed.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Hi everyone, just wanna state this is my first thread so sorry if I miss anything.
So I'm using EnderIO as an optional dependency for one of my mods so that I add an item (which has it's own class and uses an interface from EnderIO) when EnderIO exists in a pack. It works fine after I build the mod and use it in an actual pack. However I cannot run the dev environment due to EnderCore throwing me an error of it trying to call a method which is incorrectly named (down to obfuscation I believe?). This is very annoying and makes testing my mod a pain.
The error when running my dev environment shows EnderCore is trying to translate using I18n, but the method is obfuscated. Here's the error:
How can I fix this so that I can successfully test in my dev environment?
I just have EnderCore and EnderIO (plus MobHunter) in my /libs folder, and JEI is added using build.gradle.
Hopefully everything needed is in the error message. If you need anything else, please ask.
This tutorial should be of some use. It explains how to have optional dependencies and how to "strip" interfaces.
Hmm well due to the way I'm using the other mod, I don't need to strip interfaces. The only time this class gets used is if the mod is present, so it's safe as is. I think my issue is down to not having a linked source. I'll see if I can download the source from EnderIO's GitHub and see how that goes, however I'm using Idea so I won't be able to follow the instructions exactly. I'll get back with results.
Can I ask why you use Idea over eclipse? I have never used it, but would like to know if there is any advantage in using it.
So I managed to add the sources for EnderCore... however, it did not stop the error from happening. It's still giving the same error
I started using Idea because when I was using Eclipse a while ago at Uni, I was using it for Android app dev. However I found after Uni that Eclipse's support for Android dev was being dropped and Idea had an officially supported software based on the basic Idea platform. So I started using that, and I thought since I'd be using that, I might as well move all my Java dev to Idea too, and I haven't looked back. I personally prefer the look and feel of the IDE over Eclipse and it's been really great to use. I don't know what advantages there may be, but I just personally prefer it over Eclipse.
Obfuscated mods should be deobfuscated at runtime by FML in the development environment. This was added by this commit in 1.8.9.
I can confirm that this isn't working for EnderCore, I'll file a bug report with Forge. Do note that it's extremely unlikely to be fixed for 1.9.4, only 1.10.2 is supported and actively developed.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I've filed a bug report here.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Wow how strange that it's only that one mod. Thanks a lot for your help guys