    001package net.minecraft.item;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import net.minecraft.block.Block;
    006import net.minecraft.util.Icon;
    007
    008public class ItemMultiTextureTile extends ItemBlock
    009{
    010    private final Block theBlock;
    011    private final String[] field_82804_b;
    012
    013    public ItemMultiTextureTile(int par1, Block par2Block, String[] par3ArrayOfStr)
    014    {
    015        super(par1);
    016        this.theBlock = par2Block;
    017        this.field_82804_b = par3ArrayOfStr;
    018        this.setMaxDamage(0);
    019        this.setHasSubtypes(true);
    020    }
    021
    022    @SideOnly(Side.CLIENT)
    023
    024    /**
    025     * Gets an icon index based on an item's damage value
    026     */
    027    public Icon getIconFromDamage(int par1)
    028    {
    029        return this.theBlock.getBlockTextureFromSideAndMetadata(2, par1);
    030    }
    031
    032    /**
    033     * Returns the metadata of the block which this Item (ItemBlock) can place
    034     */
    035    public int getMetadata(int par1)
    036    {
    037        return par1;
    038    }
    039
    040    /**
    041     * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have
    042     * different names based on their damage or NBT.
    043     */
    044    public String getUnlocalizedName(ItemStack par1ItemStack)
    045    {
    046        int i = par1ItemStack.getItemDamage();
    047
    048        if (i < 0 || i >= this.field_82804_b.length)
    049        {
    050            i = 0;
    051        }
    052
    053        return super.getUnlocalizedName() + "." + this.field_82804_b[i];
    054    }
    055}