package com.jaquadro.minecraft.storagedrawers.item; import com.jaquadro.minecraft.chameleon.resources.IItemMeshMapper; import com.jaquadro.minecraft.storagedrawers.core.ModCreativeTabs; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.resources.I18n; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.apache.commons.lang3.tuple.Pair; import java.util.ArrayList; import java.util.List; public class ItemUpgradeRedstone extends ItemUpgrade implements IItemMeshMapper { public ItemUpgradeRedstone (String registryName, String unlocalizedName) { super(registryName, unlocalizedName); setHasSubtypes(true); } @Override public String getUnlocalizedName (ItemStack itemStack) { return super.getUnlocalizedName() + "." + EnumUpgradeRedstone.byMetadata(itemStack.getMetadata()).getUnlocalizedName(); } @Override public int getMetadata (int damage) { return damage; } @Override @SideOnly(Side.CLIENT) public void getSubItems (Item item, CreativeTabs creativeTabs, List<ItemStack> list) { for (EnumUpgradeRedstone upgrade : EnumUpgradeRedstone.values()) list.add(new ItemStack(item, 1, upgrade.getMetadata())); } @Override public List<Pair<ItemStack, ModelResourceLocation>> getMeshMappings () { List<Pair<ItemStack, ModelResourceLocation>> mappings = new ArrayList<Pair<ItemStack, ModelResourceLocation>>(); for (EnumUpgradeRedstone type : EnumUpgradeRedstone.values()) { ModelResourceLocation location = new ModelResourceLocation(getRegistryName().toString() + '_' + type.getName(), "inventory"); mappings.add(Pair.of(new ItemStack(this, 1, type.getMetadata()), location)); } return mappings; } }