Posted April 19, 201312 yr Using the tutorial's AccessTransformer: package il.steamcraft.asm; import java.io.IOException; import java.lang.reflect.Method; import cpw.mods.fml.common.asm.transformers.AccessTransformer; public class SteamcraftAccessTransformer extends AccessTransformer { private static SteamcraftAccessTransformer instance; public SteamcraftAccessTransformer() throws IOException { super(); instance = this; this.readMapFile("Steamcraft_at.cfg"); } private void readMapFile(String name) { System.out.println("Steamcraft Transformer Map: "+name); try { Method e = AccessTransformer.class.getDeclaredMethod("readMapFile", new Class[]{String.class}); e.setAccessible(true); e.invoke(this, new Object[]{name}); } catch(Exception ex) { throw new RuntimeException(ex); } } } And I'm using the basic stuff: LoadingPlugin and DummyContainer. I have execluded for Eclipse to run the transformer, but I have exported it and it loads fine. I'm using the following Steamcraft_at.cfg : #World public aab.E #FD:World/field_72985_G #spawnHostileMobs Its for testing purposes, and I can't get it to work. Just results in a crash when I try to change the spawnHostileMobs in the DummyContainer @Subscribe public void onServerStarting(FMLServerStartingEvent ev) { ev.getServer().worldServerForDimension(0).spawnHostileMobs = false; } Crashlog: 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_ABOUT_TO_START to SERVER_STOPPED. Loading cannot continue 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{5.1.28.659} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{7.7.1.659} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available SCASM{SC0.3} [steamcraft ASM] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available SC{SC0.3} [steamcraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] The ForgeModLoader state engine has become corrupted. Probably, a state was missed by and invalid modification to a base classForgeModLoader depends on. This is a critical error and not recoverable. Investigate any modifications to base classes outside ofForgeModLoader, especially Optifine, to see if there are fixes available. 2013-04-19 22:47:12 [iNFO] [sTDERR] Exception in thread "Server thread" java.lang.RuntimeException: The ForgeModLoader state engine is invalid 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:134) 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.Loader.serverStopped(Loader.java:800) 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:468) 2013-04-19 22:47:12 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:530) 2013-04-19 22:47:12 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) I have checked and yes, when I remove the code of the hostileMobs it works fine. So whats the problem over here ? EDIT: Forgot this crashlog: 2013-04-20 00:58:05 [sEVERE] [ForgeModLoader] A fatal exception occurred during the server starting event java.lang.Error: Unresolved compilation problem: The field World.spawnHostileMobs is not visible at il.steamcraft.asm.SteamcraftContainer.onServerStarting(SteamcraftContainer.java:39) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:165) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:98) at cpw.mods.fml.common.Loader.serverStarting(Loader.java:739) at cpw.mods.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:314) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:107) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:429) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) As you can see, it dosen't apply towards the spawnHostileMobs and I can't understand why. Also the code executes the Steamcraft_at.cfg : 2013-04-19 22:47:04 [iNFO] [sTDOUT] Reading mapFile Steamcraft_at.cfg
April 19, 201312 yr Author Using the tutorial's AccessTransformer: package il.steamcraft.asm; import java.io.IOException; import java.lang.reflect.Method; import cpw.mods.fml.common.asm.transformers.AccessTransformer; public class SteamcraftAccessTransformer extends AccessTransformer { private static SteamcraftAccessTransformer instance; public SteamcraftAccessTransformer() throws IOException { super(); instance = this; this.readMapFile("Steamcraft_at.cfg"); } private void readMapFile(String name) { System.out.println("Steamcraft Transformer Map: "+name); try { Method e = AccessTransformer.class.getDeclaredMethod("readMapFile", new Class[]{String.class}); e.setAccessible(true); e.invoke(this, new Object[]{name}); } catch(Exception ex) { throw new RuntimeException(ex); } } } And I'm using the basic stuff: LoadingPlugin and DummyContainer. I have execluded for Eclipse to run the transformer, but I have exported it and it loads fine. I'm using the following Steamcraft_at.cfg : #World public aab.E #FD:World/field_72985_G #spawnHostileMobs Its for testing purposes, and I can't get it to work. Just results in a crash when I try to change the spawnHostileMobs in the DummyContainer @Subscribe public void onServerStarting(FMLServerStartingEvent ev) { ev.getServer().worldServerForDimension(0).spawnHostileMobs = false; } Crashlog: 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_ABOUT_TO_START to SERVER_STOPPED. Loading cannot continue 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{5.1.28.659} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{7.7.1.659} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available SCASM{SC0.3} [steamcraft ASM] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available SC{SC0.3} [steamcraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available 2013-04-19 22:47:12 [sEVERE] [ForgeModLoader] The ForgeModLoader state engine has become corrupted. Probably, a state was missed by and invalid modification to a base classForgeModLoader depends on. This is a critical error and not recoverable. Investigate any modifications to base classes outside ofForgeModLoader, especially Optifine, to see if there are fixes available. 2013-04-19 22:47:12 [iNFO] [sTDERR] Exception in thread "Server thread" java.lang.RuntimeException: The ForgeModLoader state engine is invalid 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:134) 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.Loader.serverStopped(Loader.java:800) 2013-04-19 22:47:12 [iNFO] [sTDERR] at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:468) 2013-04-19 22:47:12 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:530) 2013-04-19 22:47:12 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) I have checked and yes, when I remove the code of the hostileMobs it works fine. So whats the problem over here ? EDIT: Forgot this crashlog: 2013-04-20 00:58:05 [sEVERE] [ForgeModLoader] A fatal exception occurred during the server starting event java.lang.Error: Unresolved compilation problem: The field World.spawnHostileMobs is not visible at il.steamcraft.asm.SteamcraftContainer.onServerStarting(SteamcraftContainer.java:39) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:165) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:98) at cpw.mods.fml.common.Loader.serverStarting(Loader.java:739) at cpw.mods.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:314) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:107) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:429) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) As you can see, it dosen't apply towards the spawnHostileMobs and I can't understand why. Also the code executes the Steamcraft_at.cfg : 2013-04-19 22:47:04 [iNFO] [sTDOUT] Reading mapFile Steamcraft_at.cfg
April 19, 201312 yr http://lmgtfy.com/?q=java+inheritance I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
April 19, 201312 yr http://lmgtfy.com/?q=java+inheritance I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
April 19, 201312 yr Author http://lmgtfy.com/?q=java+inheritance Mhm. Mhm-.. I'm just asking why is the transformer dosen't work, the code seems to be okay and I'm just testing some stuff. In one of my progress that I have deleted I had a problem with the AccessTransformer, and I couldn't get it to work properly. It has loaded the cfg and evertyhing, I have withdrawed the code from the srg file but it didn't transform it to a public insted of a protected. I'm just trying to understand why the code isn't effected.
April 19, 201312 yr Author http://lmgtfy.com/?q=java+inheritance Mhm. Mhm-.. I'm just asking why is the transformer dosen't work, the code seems to be okay and I'm just testing some stuff. In one of my progress that I have deleted I had a problem with the AccessTransformer, and I couldn't get it to work properly. It has loaded the cfg and evertyhing, I have withdrawed the code from the srg file but it didn't transform it to a public insted of a protected. I'm just trying to understand why the code isn't effected.
April 20, 201312 yr I believe you have to actually change the visibility of spawnHostileMobs to public in the minecraft code. The tutorial says this: On the line where it says 'spawnHostileMobs', there'll be an error. Choose the first option in the box that pops up when you hover over it. I believe that the first option in the box that pops up changes spawnHostileMobs from private to public. Can someone clarify? I've been confused by this too. Thanks!
April 20, 201312 yr I believe you have to actually change the visibility of spawnHostileMobs to public in the minecraft code. The tutorial says this: On the line where it says 'spawnHostileMobs', there'll be an error. Choose the first option in the box that pops up when you hover over it. I believe that the first option in the box that pops up changes spawnHostileMobs from private to public. Can someone clarify? I've been confused by this too. Thanks!
April 20, 201312 yr Author I believe you have to actually change the visibility of spawnHostileMobs to public in the minecraft code. The tutorial says this: On the line where it says 'spawnHostileMobs', there'll be an error. Choose the first option in the box that pops up when you hover over it. I believe that the first option in the box that pops up changes spawnHostileMobs from private to public. Can someone clarify? I've been confused by this too. Thanks! Thats for the MCP only as I understand, cause it should work without it. I saw the ChickenBone's AccessTransformer I don't understand how he did it. but the mod makers just need to use it and it should work. But how, I have no idea ..
April 20, 201312 yr Author I believe you have to actually change the visibility of spawnHostileMobs to public in the minecraft code. The tutorial says this: On the line where it says 'spawnHostileMobs', there'll be an error. Choose the first option in the box that pops up when you hover over it. I believe that the first option in the box that pops up changes spawnHostileMobs from private to public. Can someone clarify? I've been confused by this too. Thanks! Thats for the MCP only as I understand, cause it should work without it. I saw the ChickenBone's AccessTransformer I don't understand how he did it. but the mod makers just need to use it and it should work. But how, I have no idea ..
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.