package net.slimevoid.library.items; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.FMLLog; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class ItemBlockBase extends ItemBlock { protected HashMap<Integer, String> itemBlockNames; private ArrayList<Integer> validItemBlocks; public ItemBlockBase(Block block) { super(block); this.itemBlockNames = new HashMap<Integer, String>(); this.setValidItemBlocks(new ArrayList<Integer>()); this.setMaxDamage(0); this.setHasSubtypes(true); } @Override public int getMetadata(int damage) { return damage; } public ItemBlockBase setMetaName(int damage, String name) { this.itemBlockNames.put(Integer.valueOf(damage), name); this.getValidItemBlocks().add(Integer.valueOf(damage)); return this; } @Override public String getUnlocalizedName(ItemStack itemstack) { String itemName = (String) this.itemBlockNames.get(Integer.valueOf(itemstack.getItemDamage())); if (itemName == null) { FMLLog.severe("No Item Exists for this Item Damage"); itemName = "item.null"; } return itemName; } @Override public void getSubItems(Item item, CreativeTabs tab, List list) { for (int i = 0; i < this.getValidItemBlocks().size(); i++) { list.add(new ItemStack(item, 1, i)); } } public ArrayList<Integer> getValidItemBlocks() { return validItemBlocks; } public void setValidItemBlocks(ArrayList<Integer> validItemBlocks) { this.validItemBlocks = validItemBlocks; } }