I have some problem with creating a new Armor with Forge ...
Everythings works fine except for the .itemID error it gives me
for some reason inside the SapphireArmor.java
I can't fix it myself so I hope someone can help me
Just in case the mod_file etc. is needed, I will post them too
SapphireHelmet.itemID
SapphireChest.itemID
SapphirePants.itemID
SapphireBoots.itemID
These .itemID gives the error
SapphireArmor.java
package modding.morematerials;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.IArmorTextureProvider;
public class SapphireArmor extends ItemArmor implements IArmorTextureProvider{
public SapphireArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial,
int par3, int par4) {
super(par1, par2EnumArmorMaterial, par3, par4);
}
@Override
public String getArmorTextureFile(ItemStack itemstack) {
if(itemstack.itemID == mod_MainClass.SapphireHelmet.itemID || itemstack.itemID == mod_MainClass.SapphireChest.itemID || itemstack.itemID == mod_MainClass.SapphireBoots.itemID){
return "/MoreMaterials/Armor/Sapphire_1.png";
}
if(itemstack.itemID == mod_MainClass.SapphirePants.itemID){
return "/MoreMaterials/Armor/Sapphire_2.png";
}
else return "/MoreMaterials/Armor/Sapphire_2.png";
}
public String getTextureFile(){
return"/MoreMaterials/Items.png";
}
}
mod_MainClass.java
package modding.morematerials;
import net.minecraft.block.Block;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Item;
import cpw.mods.fml.common.Mod.PreInit;
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.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = "morematerials", name = "More Materials", version = "1.4.7")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class mod_MainClass {
private static final EnumArmorMaterial SapphireArmorMaterial = null;
private static final String SapphireArmor = null;
@SidedProxy(clientSide = "modding.morematerials.ClientProxy", serverSide = "modding.morematerials.ServerProxy")
public static ServerProxy proxy;
//Ore
public static Block SapphireOre;
public static Block TopazOre;
public static Block AmethystOre;
public static Block RubyOre;
//Blocks
public static Block SapphireBlock;
public static Block TopazBlock;
public static Block AmethystBlock;
public static Block RubyBlock;
//Armor
public static Item SapphireHelmet;
public static Item SapphireChest;
public static Item SapphirePants;
public static Item SapphireBoots;
//Item
@PreInit
public void load(FMLPreInitializationEvent Preevent){
}
@Init
public void load(FMLInitializationEvent event){
proxy.registerRenderThings();
proxy.registerServerTickHandler();
//Ore
SapphireOre = new SapphireOre (504, 16).setHardness(1.5F).setResistance(10.0F).setBlockName("SaphOre");
TopazOre = new TopazOre (505, 17).setHardness(1.5F).setResistance(10.0F).setBlockName("TopaOre");
RubyOre = new RubyOre (506, 18).setHardness(1.5F).setResistance(10.0F).setBlockName("RubOre");
AmethystOre = new AmethystOre (507, 19).setHardness(1.5F).setResistance(10.0F).setBlockName("AmetOre");
//Block
SapphireBlock = new SapphireBlock (500, 0).setHardness(1.5F).setResistance(10.0F).setBlockName("SaphBlock");
TopazBlock = new TopazBlock (501, 1).setHardness(1.5F).setResistance(10.0F).setBlockName("TopaBlock");
RubyBlock = new RubyBlock (502, 2).setHardness(1.5F).setResistance(10.0F).setBlockName("RubBlock");
AmethystBlock = new AmethystBlock (503, 3).setHardness(1.5F).setResistance(10.0F).setBlockName("AmetBlock");
//Item
SapphireHelmet = (Item) new SapphireArmor(4000, SapphireArmorMaterial, proxy.addArmor(SapphireArmor), 0).setItemName("Sapphire Helmet").setIconIndex(0);
SapphireChest = (Item) new SapphireArmor(4001, SapphireArmorMaterial, proxy.addArmor(SapphireArmor), 1).setItemName("Sapphire Chestplate").setIconIndex(0);
SapphirePants = (Item) new SapphireArmor(4002, SapphireArmorMaterial, proxy.addArmor(SapphireArmor), 2).setItemName("Sapphire Leggings").setIconIndex(0);
SapphireBoots = (Item) new SapphireArmor(4003, SapphireArmorMaterial, proxy.addArmor(SapphireArmor), 3).setItemName("Sapphire Boots").setIconIndex(0);
//EnumArmorMaterial
EnumArmorMaterial SapphireArmorMaterial = EnumHelper.addArmorMaterial("Sapphire_Armor", 22, new int[] {3, 6, 4, 3}, 14);
//Armor
//EnumToolMaterial
//Tools
//Registry
GameRegistry.registerBlock(SapphireBlock, "Saph_Block");
GameRegistry.registerBlock(TopazBlock, "Topa_Block");
GameRegistry.registerBlock(AmethystBlock, "Amet_Block");
GameRegistry.registerBlock(RubyBlock, "Rub_Block");
GameRegistry.registerBlock(SapphireOre, "Saph_Ore");
GameRegistry.registerBlock(TopazOre, "Topa_Ore");
GameRegistry.registerBlock(AmethystOre, "Amet_Ore");
GameRegistry.registerBlock(RubyOre, "Rub_Ore");
//Harvest Level
MinecraftForge.setBlockHarvestLevel(SapphireOre, "pickaxe", 2);
MinecraftForge.setBlockHarvestLevel(TopazOre, "pickaxe", 2);
MinecraftForge.setBlockHarvestLevel(AmethystOre, "pickaxe", 2);
MinecraftForge.setBlockHarvestLevel(RubyOre, "pickaxe", 2);
//Name
LanguageRegistry.addName(SapphireBlock, "Sapphire Block");
LanguageRegistry.addName(TopazBlock, "Topaz Block");
LanguageRegistry.addName(AmethystBlock, "Amethyst Block");
LanguageRegistry.addName(RubyBlock, "Ruby Block");
LanguageRegistry.addName(SapphireOre, "Sapphire Ore");
LanguageRegistry.addName(TopazOre, "Topaz Ore");
LanguageRegistry.addName(AmethystOre, "Amethyst Ore");
LanguageRegistry.addName(RubyOre, "Ruby Ore");
LanguageRegistry.addName(SapphireHelmet, "Sapphire Helmet");
LanguageRegistry.addName(SapphireChest, "Sapphire Chestplate");
LanguageRegistry.addName(SapphirePants, "Sapphire Leggings");
LanguageRegistry.addName(SapphireBoots, "Sapphire Boots");
}
}
ClientProxy.java
package modding.morematerials;
import cpw.mods.fml.client.registry.RenderingRegistry;
import net.minecraftforge.client.MinecraftForgeClient;
public class ClientProxy extends ServerProxy{
@Override
public void registerRenderThings(){
MinecraftForgeClient.preloadTexture("/MoreMaterials/Blocks.png");
MinecraftForgeClient.preloadTexture("/MoreMaterials/Items.png");
}
public int addArmor(String Armor){
return RenderingRegistry.addNewArmourRendererPrefix(Armor);
}
}
ServerProxy.java
package modding.morematerials;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
public class ServerProxy {
public void registerRenderThings(){
}
public void registerServerTickHandler(){
TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER);
}
public int addArmor(String Armor) {
return 0;
}
}