Jump to content

Crash after making a config file


Thor597

Recommended Posts

I made a config file and added my blocks, however I crash when I start the game.

 

Crash Log:


2012-11-09 16:10:11 [iNFO] [sTDERR] Exception in thread "Minecraft main thread" java.lang.ExceptionInInitializerError
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at java.lang.Class.forName0(Native Method)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at java.lang.Class.forName(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:410)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at java.lang.reflect.Method.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at java.lang.reflect.Method.invoke(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at cpw.mods.fml.common.Loader.loadMods(Loader.java:478)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:150)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.startGame(Minecraft.java:420)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.run(Minecraft.java:752)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at java.lang.Thread.run(Unknown Source)
2012-11-09 16:10:11 [iNFO] [sTDERR] Caused by: java.lang.IllegalArgumentException: Slot 0 is already occupied by thormod.ThorMod_Berries@73616964 when adding thormod.ThorMod_Ores@4e5f6a
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at net.minecraft.src.Block.<init>(Block.java:292)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at thormod.ThorMod_Ores.<init>(ThorMod_Ores.java:12)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	at net.minecraft.src.ThorMod.<clinit>(ThorMod.java:75)
2012-11-09 16:10:11 [iNFO] [sTDERR] 	... 28 more

 

Base Mod File Code:


public static int berryBushStartId;
public static final Block BerryBushes = (new ThorMod_Berries(berryBushStartId)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setBlockName("BerryBushes").setCreativeTab(CreativeTabs.tabDecorations);

public static int oresStartId;
public static final Block Ores = new ThorMod_Ores(oresStartId, Material.rock).setBlockName("ThorOres").setCreativeTab(CreativeTabs.tabBlock).setHardness(4F);

@PreInit
public void preInit(FMLPreInitializationEvent event)
{
	proxy.registerRenderInformation();
	new ThorMod_Configuration(event);
}

 

ThorMod_Configuration:


package thormod;

import net.minecraft.src.*;
import net.minecraftforge.common.Configuration;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;

public class ThorMod_Configuration
{

public ThorMod_Configuration(FMLPreInitializationEvent event)
{
	Configuration config = new Configuration(event.getSuggestedConfigurationFile());

	config.load();


	this.blocks(config);


	config.save();
}

public void blocks(Configuration config)
{

	ThorMod.berryBushStartId = config.getBlock("Berry Bushes' Start ID", 158).getInt();

	ThorMod.oresStartId = config.getBlock("Nether & End Ores Start ID", 2723).getInt();

}

}


 

Does anyone see the problem?

Link to comment
Share on other sites

So, derp,

 

First, blocks should return config or edit a global one. Do this or the config file won't save the changes.

Second, why you make a new object rather than run static functions, ill never know. It will make minecraft go a little faster too.

Three, the whole config thing should be in a try catch thing so you don't crash minecraft. You might wanna, I dunno.

Four, have the blocks names be global but initialize them after you get all the data for them (block/item id). You would also have global variables of the block id's or put them in a separate objects or array for easy organization.

 

I think that's it, I hope I helped.

From, Green0Yoshi

Thanks for your time... Hopefully I can reply soon after you reply, but I'm busy, anyways.

I can't wait to start working on my mod. I haven't worked on it in a while but it is on

Github. It needs much more organization and work, I have lots of plans. :)

Link to comment
Share on other sites

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.



×
×
  • Create New...

Important Information

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