package com.goldenapple.coppertools.init;
import com.goldenapple.coppertools.CopperTools;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraftforge.common.util.EnumHelper;
import java.util.HashSet;
public class EquipMaterial {
public static HashSet<EquipMaterial> registry = new HashSet<EquipMaterial>();
public static Item.ToolMaterial BRASS_MATERIAL = EnumHelper.addToolMaterial("BRASS_S", 2, 191, 7.0F, 2.5F, 14);
public static Item.ToolMaterial GILDED_IRON_MATERIAL = EnumHelper.addToolMaterial("GILDEDIRON", 2, 250, 6.0F, 2.0F, 22);
public static Item.ToolMaterial IRONWOOD_MATERIAL = EnumHelper.addToolMaterial("IRONWOOD", 2, 512, 7.0F, 2.0F, 20);
public static Item.ToolMaterial STEELEAF_MATERIAL = EnumHelper.addToolMaterial("STEELEAF", 2, 131, 6.0F, 3.0F, 22);
//Full sets of equipment
public static EquipMaterial copper = new EquipMaterial("copper", "ingotCopper", null, DefaultTool.COPPER, null, DefaultArmor.COPPER, true, true, true);
public static EquipMaterial platinum = new EquipMaterial("platinum", "ingotPlatinum", null, DefaultTool.PLATINUM, null, DefaultArmor.PLATINUM, true, true, true);
public static EquipMaterial compressed = new EquipMaterial("compressed", "ingotIronCompressed", null, DefaultTool.COMPRESSED, null, DefaultArmor.COMPRESSED, true, true, true);
public static EquipMaterial lead = new EquipMaterial("lead", "ingotLead", null, DefaultTool.LEAD, null, DefaultArmor.LEAD, true, true, true);
public static EquipMaterial enderium = new EquipMaterial("enderium", "ingotEnderium", null, DefaultTool.ENDERIUM, null, DefaultArmor.ENDERIUM, true, true, true);
public static EquipMaterial silver = new EquipMaterial("silver", "ingotSilver", null, DefaultTool.SILVER, null, DefaultArmor.SILVER, true, true, true);
public static EquipMaterial emerald = new EquipMaterial("emerald", "gemEmerald", null, DefaultTool.EMERALD, null, DefaultArmor.EMERALD, true, true, true);
public static EquipMaterial aluminum = new EquipMaterial("aluminum", "ingotAluminum", null, DefaultTool.ALUMINUM, null, DefaultArmor.ALUMINUM, true, true, true);
//Gem armor
public static EquipMaterial ruby = new EquipMaterial("ruby", "gemRuby", null, null, null, DefaultArmor.GEM, false, true, false);
public static EquipMaterial sapphire = new EquipMaterial("sapphire", "gemSapphire", null, null, null, DefaultArmor.GEM, false, true, false);
public static EquipMaterial amethyst = new EquipMaterial("amethyst", "gemAmethyst", null, null, null, DefaultArmor.GEM, false, true, false);
//Other stuff that I register manually
public static EquipMaterial wood = new EquipMaterial("wood", "plankWood", Item.ToolMaterial.WOOD, null, null, null, false, false, true);
public static EquipMaterial stone = new EquipMaterial("stone", "cobblestone", Item.ToolMaterial.STONE, null, null, null, false, false, true);
public static EquipMaterial iron = new EquipMaterial("iron", "ingotIron", Item.ToolMaterial.IRON, null, null, null, false, false, true);
public static EquipMaterial gold = new EquipMaterial("gold", "ingotGold", Item.ToolMaterial.GOLD, null, null, null, false, false, true);
public static EquipMaterial diamond = new EquipMaterial("diamond", "gemDiamond", Item.ToolMaterial.EMERALD, null, null, null, false, false, true);
public static EquipMaterial brass = new EquipMaterial("brass", "ingotBrass", BRASS_MATERIAL, null, null, null, false, false, true);
public String name;
public Item.ToolMaterial toolMat;
public ItemArmor.ArmorMaterial armorMat;
public DefaultTool toolMatDefault;
public DefaultArmor armorMatDefault;
public Object repairMat;
public boolean useObsidian = false;
public boolean enabled = true;
public boolean loadTools;
public boolean loadArmor;
public boolean loadSickle;
public EquipMaterial(String name, Object repairMat, Item.ToolMaterial toolMat, DefaultTool toolMatDefault, ItemArmor.ArmorMaterial armorMat, DefaultArmor armorMatDefault, boolean loadTools, boolean loadArmor, boolean loadSickle){
this.name = name;
this.toolMat = toolMat;
this.armorMat = armorMat;
this.toolMatDefault = toolMatDefault;
this.armorMatDefault = armorMatDefault;
this.repairMat = repairMat;
this.loadTools = loadTools;
this.loadArmor = loadArmor;
this.loadSickle = loadSickle;
}
public static void init(){
registry.add(copper);
registry.add(platinum);
if(CopperTools.isPneumaticLoaded) registry.add(compressed);
registry.add(lead);
enderium.useObsidian = true;
if(CopperTools.isTELoaded) registry.add(enderium);
registry.add(silver);
emerald.enabled = false;
registry.add(emerald);
if(CopperTools.isBluePowerLoaded) {
registry.add(ruby);
registry.add(sapphire);
registry.add(amethyst);
}
registry.add(aluminum);
}
public static enum DefaultArmor { //Durability, Protection(Helm, Chest, Legs, Boots), Enchantibility
/* CLOTH(5, new int[]{1, 3, 2, 1}, 15),
CHAIN(15, new int[]{2, 5, 4, 1}, 12),
IRON(15, new int[]{2, 6, 5, 2}, 9),
GOLD(7, new int[]{2, 5, 3, 1}, 25),
DIAMOND(33, new int[]{3, 8, 6, 3}, 10); */
COPPER(10, new int[]{2, 5, 4, 2}, 17),
PLATINUM(12, new int[]{2, 6, 5, 2}, 25),
LEAD(10, new int[]{3, 6, 5, 2}, 9),
COMPRESSED(30, new int[]{2, 6, 5, 2}, 9),
ENDERIUM(40, new int[]{3, 8, 6, 3}, 25),
SILVER(15, new int[]{2, 7, 5, 2}, 17),
HOLIDAY(5, new int[]{3, 8, 6, 3}, 25),
EMERALD(33, new int[]{3, 8, 6, 3}, 10),
GEM(27, new int[]{2, 6, 5, 2}, 17),
ALUMINUM(20, new int[]{3, 6, 5, 2}, 17);
private int durability;
private int[] protection;
private int enchant;
DefaultArmor(int durability, int[] protection, int enchant){
this.durability = durability;
this.protection = protection;
this.enchant = enchant;
}
public int getDurability(){
return durability;
}
public int[] getProtection(){
return protection;
}
public int getEnchant(){
return enchant;
}
}
public static enum DefaultTool { //Mining level, durability, speed, damage, enchantibility
/* WOOD(0, 59, 2.0F, 0.0F, 15),
STONE(1, 131, 4.0F, 1.0F, 5),
IRON(2, 250, 6.0F, 2.0F, 14),
EMERALD(3, 1561, 8.0F, 3.0F, 10),
GOLD(0, 32, 12.0F, 0.0F, 22); */
COPPER(1, 131, 7, 1, 18),
PLATINUM(2, 200, 12, 2, 22),
LEAD(0, 131, 4, 0, 14),
COMPRESSED(2, 500, 6, 2, 10),
ENDERIUM(5, 2000, 10, 4, 22),
SILVER(2, 250, 8, 2.5F, 18),
HOLIDAY(0, 32, 12.0F, 0.0F, 22),
EMERALD(3, 1561, 10.0F, 3.0F, 10),
ALUMINUM(2, 400, 5, 1.5F, 10);
private int harvestLevel;
private int durability;
private float efficiency;
private float damage;
private int enchant;
DefaultTool(int harvestLevel, int durability, float efficiency, float damage, int enchant){
this.harvestLevel = harvestLevel;
this.durability = durability;
this.efficiency = efficiency;
this.damage = damage;
this.enchant = enchant;
}
public int getHarvestLevel(){
return harvestLevel;
}
public int getDurability(){
return durability;
}
public float getEfficiency(){
return efficiency;
}
public float getDamage(){
return damage;
}
public int getEnchant(){
return enchant;
}
}
}