/**
* Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
* <p/>
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.silicon;
import java.util.List;
import java.util.Locale;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.oredict.OreDictionary;
import buildcraft.BuildCraftSilicon;
import buildcraft.core.lib.items.ItemBuildCraft;
public class ItemRedstoneChipset extends ItemBuildCraft {
public enum Chipset {
RED,
IRON,
GOLD,
DIAMOND,
PULSATING,
QUARTZ,
COMP,
EMERALD;
public static final Chipset[] VALUES = values();
private IIcon icon;
public String getChipsetName() {
return "redstone_" + name().toLowerCase(Locale.ENGLISH) + "_chipset";
}
public ItemStack getStack() {
return getStack(1);
}
public ItemStack getStack(int qty) {
return new ItemStack(BuildCraftSilicon.redstoneChipset, qty, ordinal());
}
public static Chipset fromOrdinal(int ordinal) {
if (ordinal < 0 || ordinal >= VALUES.length) {
return RED;
}
return VALUES[ordinal];
}
}
public ItemRedstoneChipset() {
super();
setHasSubtypes(true);
setMaxDamage(0);
}
@Override
public IIcon getIconFromDamage(int damage) {
return Chipset.fromOrdinal(damage).icon;
}
@Override
public String getUnlocalizedName(ItemStack stack) {
return "item." + Chipset.fromOrdinal(stack.getItemDamage()).getChipsetName();
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List itemList) {
for (Chipset chipset : Chipset.VALUES) {
itemList.add(chipset.getStack());
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister par1IconRegister) {
for (Chipset chipset : Chipset.VALUES) {
chipset.icon = par1IconRegister.registerIcon("buildcraftsilicon:chipset/" + chipset.getChipsetName());
}
}
public void registerItemStacks() {
for (Chipset chipset : Chipset.VALUES) {
GameRegistry.registerCustomItemStack(chipset.getChipsetName(), chipset.getStack());
OreDictionary.registerOre("chipset" + chipset.name().toUpperCase().substring(0, 1) + chipset.name().toLowerCase().substring(1), chipset.getStack());
}
}
}