Two Posted July 21, 2015 Posted July 21, 2015 Whenever I have a block in my mod that uses Blocks.stone or Materials.rock reobfuscation completely randomly fails sometimes. That is: the code works, then (without any change) I do a re-compile, and the game crashes with cpw.mods.fml.common.LoaderException: java.lang.NoSuchFieldError: rock at cpw.mods.fml.common.LoadController.transition(LoadController.java:163) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:739) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:552) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878) at net.minecraft.client.main.Main.main(SourceFile:148) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) Caused by: java.lang.NoSuchFieldError: rock at two.graves.blocks.BlockGrave.<init>(BlockGrave.java:40) at two.graves.ProxyBase.registerBlocks(ProxyBase.java:51) at two.graves.ProxyBase.onInit(ProxyBase.java:77) at two.graves.ProxyClient.onInit(ProxyClient.java:16) at two.graves.Graves.load(Graves.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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 cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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 cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) Then I recompile the exact same code-base (without any changes) and the crash is gone. I have not seen this happen with anything but Materials.rock / Blocks.stone. This is really annoying when you do a quick recompile to change something like version number after extensive testing, upload the mod just to realize that it is crashing because of this. Quote My Mods New Dawn - A completely new terrain engine for Minecraft TwoTility - Blocks and Items for a better Minecraft TwoGraves - Keeps your items safe on death
larsgerrits Posted July 21, 2015 Posted July 21, 2015 How do you build your mod? You have to use gradlew build . Quote Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
Two Posted July 21, 2015 Author Posted July 21, 2015 I am not sure if there is even any other way. So yes: I am using the standard gradle tasks like clean and build. Quote My Mods New Dawn - A completely new terrain engine for Minecraft TwoTility - Blocks and Items for a better Minecraft TwoGraves - Keeps your items safe on death
larsgerrits Posted July 22, 2015 Posted July 22, 2015 I am not sure if there is even any other way. Some people just export it from Eclipse and expect it to work. I don't know what could cause the issue. We (I) need to have more info: 1. The Forge version you are using Caused by: java.lang.NoSuchFieldError: rock at two.graves.blocks.BlockGrave.<init>(BlockGrave.java:40) 2. Show us line 40 from BlockGrave. Or do you have a GitHub workspace we can use? Quote Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
Two Posted July 22, 2015 Author Posted July 22, 2015 I had this issue starting with at least Forge version 1277 and I still have the issue with 1481. You can find my mods here: https://github.com/twothe/ Affected are all mods that somehow use stone/rock as written above. I could not yet find any pattern to this, it seems to happen just randomly and does not seem to be associated to my code. Quote My Mods New Dawn - A completely new terrain engine for Minecraft TwoTility - Blocks and Items for a better Minecraft TwoGraves - Keeps your items safe on death
Two Posted July 24, 2015 Author Posted July 24, 2015 The error occurred again yesterday, and I can now say for sure that it is a re-obfuscation failure. I had just finished an update, did clean & build, tested the result in the IDE (non-obfuscated) and everything was working fine. So I copied the lib from that build to a real MC environment and it failed with the rock issue. I hit clean & build again, copied the lib again and then everything was working fine. Quote My Mods New Dawn - A completely new terrain engine for Minecraft TwoTility - Blocks and Items for a better Minecraft TwoGraves - Keeps your items safe on death
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.