Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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?

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

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.