Jump to content

[1.6.2] Configfile/Forge just includes one Item and ignores the others


Recommended Posts

Posted

Hello,

 

I tried to make an Configuration file with Forge but since I changed the code just one Item is included and the other two were ignored.

 

Here is the code of the main file:

 

package nyx.hotdog;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.common.Configuration;
import nyx.hotdog.client.ClientProxy;

import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;

import net.minecraftforge.common.Configuration;


import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid="nyxhotdog", name="hotdog", version="1.0.0.1")
@NetworkMod(clientSideRequired=true, serverSideRequired=false)
public class hotdog {

        // The instance of your mod that Forge uses.
        @Instance("nyxhotdog")
        public static hotdog instance;
        

        public static int hotdogID;
        public static int wuerstchenID;
        public static int wuerstchenrohID;
        
        
        // Says where the client and server 'proxy' code is loaded.
        @SidedProxy(clientSide="nyx.hotdog.client.ClientProxy", serverSide="nyx.hotdog.CommonProxy")
        public static CommonProxy proxy;
        public static ClientProxy cproxy;
        
        
        
        @EventHandler 
        public void preInit(FMLPreInitializationEvent event) {
           	
        	
        	
          	Configuration config = new Configuration(event.getSuggestedConfigurationFile());

            config.load();
            
            
            
            hotdogID = config.get(Configuration.CATEGORY_ITEM, "hotdog", 9000).getInt();
            wuerstchenID = config.get(Configuration.CATEGORY_ITEM, "sausage", 9001).getInt();
            wuerstchenrohID = config.get(Configuration.CATEGORY_ITEM, "rawsausage", 9002).getInt();
            config.save();
            
            
                  
        	
        }
        

        private final static Item hotdog = new ItemFood(hotdogID, 20, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("hotdog").func_111206_d("hotdog:hotdog");
        private final static Item wuerstchenroh = new ItemFood(wuerstchenrohID, 5, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("wuerstchenroh").func_111206_d("hotdog:wurst2");
        private final static Item wuerstchen = new ItemFood(wuerstchenID, 10, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("wuerstchen").func_111206_d("hotdog:wurst");
        
        
        
        
        @EventHandler 
        public void load(FMLInitializationEvent event) {
                proxy.registerRenderers();
               
                
                
                LanguageRegistry.addName(hotdog, "HotDog");
                LanguageRegistry.addName(wuerstchenroh, "Raw Sausage");
                LanguageRegistry.addName(wuerstchen, "Sausage");
                
                
                
                GameRegistry.addRecipe(new ItemStack(wuerstchenroh), "xxx", 'x', Item.porkRaw);
                GameRegistry.addRecipe(new ItemStack(hotdog), " x ", " y ", 'x', wuerstchen, 'y', Item.bread);
                
                
                GameRegistry.addSmelting(wuerstchenroh.itemID, new ItemStack(wuerstchen), 0.1f);

    
        
        

        
        
        }
        
        @EventHandler 
        public void postInit(FMLPostInitializationEvent event) {
                // Stub Method
        }
}

 

And maybe it help, but in Eclipse it shows me this Error in the console while starting Minecraft.

 

2013-08-25 03:56:29 [iNFO] [sTDOUT] CONFLICT @ 0 item slot already occupied by net.minecraft.item.ItemSpade@5d05696a while adding net.minecraft.item.ItemFood@e4bdddc
2013-08-25 03:56:29 [iNFO] [fml.ItemTracker] The mod nyxhotdog is overwriting existing item at 256 (net.minecraft.item.ItemSpade from Minecraft) with net.minecraft.item.ItemFood
2013-08-25 03:56:29 [iNFO] [sTDOUT] CONFLICT @ 0 item slot already occupied by net.minecraft.item.ItemFood@e4bdddc while adding net.minecraft.item.ItemFood@16d29dd9
2013-08-25 03:56:29 [iNFO] [fml.ItemTracker] The mod nyxhotdog is overwriting existing item at 256 (net.minecraft.item.ItemFood from nyxhotdog) with net.minecraft.item.ItemFood
2013-08-25 03:56:29 [iNFO] [sTDOUT] CONFLICT @ 0 item slot already occupied by net.minecraft.item.ItemFood@16d29dd9 while adding net.minecraft.item.ItemFood@5d791d43
2013-08-25 03:56:29 [iNFO] [fml.ItemTracker] The mod nyxhotdog is overwriting existing item at 256 (net.minecraft.item.ItemFood from nyxhotdog) with net.minecraft.item.ItemFood
2013-08-25 03:56:29 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0

 

Hopefully someone can help me.

Posted

Java reshapes your source when compiling, so you are defining your items while id variables are not loaded yet.

Better way:

<...>
public static int hotdogID;
public static int wuerstchenID;
public static int wuerstchenrohID;
private static Item hotdog;
private static Item wuerstchenroh;
private static Item wuerstchen;

@EventHandler 
public void preInit(FMLPreInitializationEvent event) {
     Configuration config = new Configuration(event.getSuggestedConfigurationFile());
     config.load();
            
     hotdogID = config.get(Configuration.CATEGORY_ITEM, "hotdog", 9000).getInt();
     wuerstchenID = config.get(Configuration.CATEGORY_ITEM, "sausage", 9001).getInt();
     wuerstchenrohID = config.get(Configuration.CATEGORY_ITEM, "rawsausage", 9002).getInt();
     config.save();
            
     hotdog = new ItemFood(hotdogID, 20, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("hotdog").func_111206_d("hotdog:hotdog");
     wuerstchenroh = new ItemFood(wuerstchenrohID, 5, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("wuerstchenroh").func_111206_d("hotdog:wurst2");
     wuerstchen = new ItemFood(wuerstchenID, 10, 0.3F, false).setMaxStackSize(16).setUnlocalizedName("wuerstchen").func_111206_d("hotdog:wurst");
}
<...>

This is not the best way, but at least it will (i guess) work.

 

If i helped you, don't forget pressing "Thank You" button. Thanks for your time.

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



×
×
  • Create New...

Important Information

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