When i try to Open my Gui it says this 'A mod tried to open a gui on the server without being a NetworkMod'.
package MinersHeavenGui;
import MinersHeavenGui.ContainerInputFurnace;
import MinersHeavenGui.GuiInputFurnace;
import MinersHeavenGui.TileEntityInputFurnace;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
public class GuiInputHandler implements IGuiHandler
{
@Override
public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity tile_entity = world.getBlockTileEntity(x, y, z);
switch(id)
{
case 0: return new ContainerInputFurnace(player.inventory, (TileEntityInputFurnace) tile_entity);
}
return null;
}
@Override
public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity tile_entity = world.getBlockTileEntity(x, y, z);
switch(id)
{
case 0: return new GuiInputFurnace(player.inventory, (TileEntityInputFurnace) tile_entity);
}
return null;
}
}
Can I see your main mod file? I want to see where you are registering your guihandler. Also, I put my methods from the guihandler in my commonproxy, try doing that.
@Mod(modid="metal",name="MinersHeaven",version="1.1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MinersHeavenBase {
int LithiumOreID;
int BerylliumOreID;
int AluminiumOreID;
int CopperOreID;
int MaganeseOreID;
int CopperIngotID;
int RubyOreID;
int SapphireOreID;
int RubyID;
int SapphireID;
int EnergyCrystalOreID;
int EnergyShardID;
int EnergyCrystalID;
int SteelIngotID;
int inputFurnaceID;
int inputFurnaceActiveID;
public static Block LithiumOre;
public static Block BerylliumOreBlock;
public static Block AluminiumOreBlock;
public static Block CopperOreBlock;
public static Block MaganeseOreBlock;
public static Item CopperIngot;
public static Block RubyOreBlock;
public static Block SapphireOreBlock;
public static Item Ruby;
public static Item Sapphire;
public static Block EnergyCrystalOreBlock;
public static Item EnergyShard;
public static Item EnergyCrystal;
public static int Item1;
public static int Item2;
public static Block inputFurnaceActive;
public static Block inputFurnace;
public static MinersHeavenBase instance;
public static Item SteelIngot;
@EventHandler
public void PreInit(FMLPreInitializationEvent event)
{
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();
//STuff
this.LithiumOre = new LithiumOre(LithiumOreID).setUnlocalizedName("Lithium Ore");
this.BerylliumOreBlock = new BerylliumOre(BerylliumOreID).setUnlocalizedName("Beryllium Ore");
this.AluminiumOreBlock = new AluminiumOre(AluminiumOreID).setUnlocalizedName("Aluminium Ore");
this.CopperOreBlock = new CopperOre(CopperOreID).setUnlocalizedName("Copper Ore");
this.MaganeseOreBlock = new MaganeseOre(MaganeseOreID).setUnlocalizedName("Maganese Ore");
this.CopperIngot = new CopperIngot(CopperIngotID).setUnlocalizedName("Copper Ingot");
this.RubyOreBlock = new RubyOre(RubyOreID).setUnlocalizedName("Ruby Ore");
this.SapphireOreBlock = new SaphhireOre(SapphireOreID).setUnlocalizedName("Sapphire Ore");
this.Ruby = new Ruby(RubyID).setUnlocalizedName("Ruby");
this.Sapphire = new Sapphire(SapphireID).setUnlocalizedName("Sapphire");
this.EnergyCrystalOreBlock = new EnergyCrystalOre(EnergyCrystalOreID).setUnlocalizedName("Energy Crystal Ore");
this.EnergyShard = new EnergyShard(EnergyShardID).setUnlocalizedName("Energy Shard");
this.EnergyCrystal = new EnergyCrystal(EnergyCrystalID).setUnlocalizedName("Energy Crystal");
this.SteelIngot = new SteelIngot(SteelIngotID).setUnlocalizedName("Steel Ingot");
It looks simialr to the way I have it set up in the gui handler...but you are missing your @Instance in the mod class...
Have a look here, either of my tutorials will work for that, the furnace or the crafting table you are just missing a vital piece of info. Have a look at the main class and you will see what I mean.
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.Property;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.Mod;
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.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.Mod.EventHandler;
@Mod(modid="metal",name="MinersHeaven",version="1.1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MinersHeavenBase {
int LithiumOreID;
int BerylliumOreID;
int AluminiumOreID;
int CopperOreID;
int MaganeseOreID;
int CopperIngotID;
int RubyOreID;
int SapphireOreID;
int RubyID;
int SapphireID;
int EnergyCrystalOreID;
int EnergyShardID;
int EnergyCrystalID;
int SteelIngotID;
int inputFurnaceID;
int inputFurnaceActiveID;
public static Block LithiumOre;
public static Block BerylliumOreBlock;
public static Block AluminiumOreBlock;
public static Block CopperOreBlock;
public static Block MaganeseOreBlock;
public static Item CopperIngot;
public static Block RubyOreBlock;
public static Block SapphireOreBlock;
public static Item Ruby;
public static Item Sapphire;
public static Block EnergyCrystalOreBlock;
public static Item EnergyShard;
public static Item EnergyCrystal;
public static int Item1;
public static int Item2;
public static Block inputFurnaceActive;
public static Block inputFurnace;
public static MinersHeavenBase instance;
public static Item SteelIngot;
@EventHandler
public void PreInit(FMLPreInitializationEvent event)
{
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();
//Config
LithiumOreID = config.get("Ore IDs", "Lithium Ore ID", 1700).getInt();
BerylliumOreID = config.get("Ore IDs", "Beryllium Ore ID", 1701).getInt();
AluminiumOreID = config.get("Ore IDs", "Aluminium Ore ID", 1702).getInt();
CopperOreID = config.get("Ore IDs", "Copper Ore ID", 1703).getInt();
MaganeseOreID = config.get("Ore IDs","Maganese Ore ID", 1704).getInt();
CopperIngotID = config.get("Ingot IDs", "Copper Ingot ID", 1705).getInt();
RubyOreID = config.get("Ore IDs", "Ruby Ore ID", 1706).getInt();
SapphireOreID = config.get("Ore IDs", "Sapphire Ore ID", 1707).getInt();
SapphireID = config.get("Gem IDs", "Sapphire ID", 1708).getInt();
RubyID = config.get("Gem IDs", "Ruby ID", 1709).getInt();
EnergyCrystalOreID = config.get("Ore IDs", "EnergyCrystal Ore ID", 1710).getInt();
EnergyShardID = config.get("Shard IDs", "EnergyShard ID", 1711).getInt();
EnergyCrystalID = config.get("Crystal IDs", "EnergyCrystal ID", 1712).getInt();
SteelIngotID = config.get("Steel IDs", "SteelIngot ID", 1713).getInt();
inputFurnaceID = config.get("inputFurnace IDs", "inputFurnace ID", 1714).getInt();
//STuff
this.LithiumOre = new LithiumOre(LithiumOreID).setUnlocalizedName("Lithium Ore");
this.BerylliumOreBlock = new BerylliumOre(BerylliumOreID).setUnlocalizedName("Beryllium Ore");
this.AluminiumOreBlock = new AluminiumOre(AluminiumOreID).setUnlocalizedName("Aluminium Ore");
this.CopperOreBlock = new CopperOre(CopperOreID).setUnlocalizedName("Copper Ore");
this.MaganeseOreBlock = new MaganeseOre(MaganeseOreID).setUnlocalizedName("Maganese Ore");
this.CopperIngot = new CopperIngot(CopperIngotID).setUnlocalizedName("Copper Ingot");
this.RubyOreBlock = new RubyOre(RubyOreID).setUnlocalizedName("Ruby Ore");
this.SapphireOreBlock = new SaphhireOre(SapphireOreID).setUnlocalizedName("Sapphire Ore");
this.Ruby = new Ruby(RubyID).setUnlocalizedName("Ruby");
this.Sapphire = new Sapphire(SapphireID).setUnlocalizedName("Sapphire");
this.EnergyCrystalOreBlock = new EnergyCrystalOre(EnergyCrystalOreID).setUnlocalizedName("Energy Crystal Ore");
this.EnergyShard = new EnergyShard(EnergyShardID).setUnlocalizedName("Energy Shard");
this.EnergyCrystal = new EnergyCrystal(EnergyCrystalID).setUnlocalizedName("Energy Crystal");
this.SteelIngot = new SteelIngot(SteelIngotID).setUnlocalizedName("Steel Ingot");
//Registry
GameRegistry.registerBlock(LithiumOre, "lithiumOre");
LanguageRegistry.addName(LithiumOre, "Lithium Ore");
MinecraftForge.setBlockHarvestLevel(LithiumOre, "pickaxe", 1);
GameRegistry.registerBlock(EnergyCrystalOreBlock, "energycrystalOre");
LanguageRegistry.addName(EnergyCrystalOreBlock, "Energy Crystal Ore");
MinecraftForge.setBlockHarvestLevel(EnergyCrystalOreBlock, "pickaxe", 1);
GameRegistry.registerBlock(SapphireOreBlock, "sapphireOre");
LanguageRegistry.addName(SapphireOreBlock, "Sapphire Ore");
MinecraftForge.setBlockHarvestLevel(SapphireOreBlock, "pickaxe", 2);
GameRegistry.registerBlock(RubyOreBlock, "rubyOre");
LanguageRegistry.addName(RubyOreBlock, "Ruby Ore");
MinecraftForge.setBlockHarvestLevel(RubyOreBlock, "pickaxe", 2);
GameRegistry.registerBlock(MaganeseOreBlock, "maganeseOre");
LanguageRegistry.addName(MaganeseOreBlock, "Maganese Ore");
MinecraftForge.setBlockHarvestLevel(MaganeseOreBlock, "pickaxe", 2);
GameRegistry.registerBlock(CopperOreBlock, "copperOre");
LanguageRegistry.addName(CopperOreBlock, "Copper Ore");
MinecraftForge.setBlockHarvestLevel(CopperOreBlock, "pickaxe", 0);
GameRegistry.registerBlock(AluminiumOreBlock, "aluminiumOre");
LanguageRegistry.addName(AluminiumOreBlock, "Aluminium Ore");
MinecraftForge.setBlockHarvestLevel(AluminiumOreBlock, "pickaxe", 0);
GameRegistry.registerBlock(BerylliumOreBlock, "berylliumOre");
LanguageRegistry.addName(BerylliumOreBlock, "Beryllium Ore");
MinecraftForge.setBlockHarvestLevel(BerylliumOreBlock, "pickaxe", 2);
LanguageRegistry.addName(CopperIngot, "Copper Ingot");
LanguageRegistry.addName(Sapphire, "Sapphire");
LanguageRegistry.addName(Ruby, "Ruby");
LanguageRegistry.addName(EnergyShard, "Energy Shard");
LanguageRegistry.addName(EnergyCrystal, "Energy Crystal");
LanguageRegistry.addName(SteelIngot, "Steel Ingot");
GameRegistry.registerWorldGenerator(new LithiumOreGen());
GameRegistry.registerWorldGenerator(new BerylliumOreGen());
GameRegistry.registerWorldGenerator(new AluminiumOreGen());
GameRegistry.registerWorldGenerator(new CopperOreGen());
GameRegistry.registerWorldGenerator(new MaganeseOreGen());
GameRegistry.registerWorldGenerator(new RubyOreGen());
GameRegistry.registerWorldGenerator(new SapphireOreGen());
GameRegistry.registerWorldGenerator(new EnergyCrystalOreGen());
GameRegistry.addSmelting(CopperOreID, new ItemStack(CopperIngot), 0.7f);
GameRegistry.addRecipe(new ItemStack (EnergyCrystal),
"XXX", "XXX", "XXX", 'X',EnergyShard);
}
@EventHandler
public void load(FMLInitializationEvent event){
}
}
Have a look here, either of my tutorials will work for that, the furnace or the crafting table you are just missing a vital piece of info. Have a look at the main class and you will see what I mean.
Find out how I generate....coolAlias...world structure generation and rotation tool...
Check the link for more info on how the base mod class should be