Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

 

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.

Posted

 

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.

Posted

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!

Posted

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!

Posted

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 ..

Posted

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hey, sorry I haven't said anything in a while. I was banned on here for sending you straight up crash logs and they banned me for spam... but I learned that these forums are for forge only and I was working with neoforge... but thank you for all the help.
    • la verdad nose que hago
    • Ok i check and this is real axioM, BUT i have seen strange thing when mods less then 100 is working great but when its more then 100, i got crash   i realy need this mod can i some how fix it? or only delete axiom
    • It is an issue with the mod Axiom
    • I am in 1.20.1, and I have about 50 mods, I'd say. But for some reason, the search bar broke at some point. It's a real pain to search for a certain object.. Mods that I have(I had to write ALL OF THESE OUT arhg): Epic Knights. AI-Improvements, Alexscaves, alexsmobs, AmbientSounds, Aquamirae, Architectury, Betterfpsdist, BiomesOPlenty, Bookshelf, Born In Chaos, Bountiful Critters, CarbonConfig, Citadel, Cloth config, Clumps, Corgilib, Creative Core, Creeperoverhaul, crittersandcompanions, CullLessLeaves, Cupboard, Duckling, Embeddium, Enchantment Descriptions, Enderman Overhaul, Entity Model Features, Entity Texture Features, Entity Culling, Exotic Birds, Extra Sounds, Falling Leaves, Farmers Delight, Fast Leaf Decay, Fastload, Ferritecore, FpsReducer2, Framework Forge, Gamma Creatures Mod, Geckolib, Geophilic, Ghosts, Goblin Traders, Gpumemleakfix, Guardvillagers, Ichunutil, ImmediatelyFast Forge, Immersive Paintings, Incendium, Konkrete Forge, Let Sleeping Dogs Lie, Make Bubbles Pop, MCW Bridges, MCW doors, MCW Fences, MCW lights, MCW paths, MCW trapdoors, Medieval Paintings, More Creative Tabs Combo, Nether's Overhaul, Nyfss Spiders Forge, Obscure Api, oculus MC, Oh The Biomes We've Gone, Oh The Trees You'll Grow, Physics Mod, Prehistoric Park, Quark Delight, Quark, Rainbow Reef, Refurbished Furniture Forge, Regrowth, Repurposed Structures, Resourcefulconfig, Ribbits, Rubidium, Saturn mc, Skin Layers 3d Forge, Smoothchunk, Starlight, Structory, TerraBlender, Terralith, Visuality, Water Erosion, Xaeros Minimap, Xaeros World Map, YungsApi, YungsBetter Desert Temples, Yungs Better Dungeons, Yungs Jungle Templates, Yungs Better Mineshafts, Yungs Better Nether Fortresses, Yungs Better Strongholds, Yungs Better Witch Huts, Yungs Bridges, Yungs Extras, Zeta.   Why isn't my search bar working!!!!😭
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.