    001    package net.minecraft.item;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005    import net.minecraft.block.Block;
    006    import net.minecraft.block.BlockLeaves;
    007    import net.minecraft.world.ColorizerFoliage;
    008
    009    public class ItemLeaves extends ItemBlock
    010    {
    011        public ItemLeaves(int par1)
    012        {
    013            super(par1);
    014            this.setMaxDamage(0);
    015            this.setHasSubtypes(true);
    016        }
    017
    018        /**
    019         * Returns the metadata of the block which this Item (ItemBlock) can place
    020         */
    021        public int getMetadata(int par1)
    022        {
    023            return par1 | 4;
    024        }
    025
    026        @SideOnly(Side.CLIENT)
    027
    028        /**
    029         * Gets an icon index based on an item's damage value
    030         */
    031        public int getIconFromDamage(int par1)
    032        {
    033            return Block.leaves.getBlockTextureFromSideAndMetadata(0, par1);
    034        }
    035
    036        @SideOnly(Side.CLIENT)
    037        public int getColorFromItemStack(ItemStack par1ItemStack, int par2)
    038        {
    039            int var3 = par1ItemStack.getItemDamage();
    040            return (var3 & 1) == 1 ? ColorizerFoliage.getFoliageColorPine() : ((var3 & 2) == 2 ? ColorizerFoliage.getFoliageColorBirch() : ColorizerFoliage.getFoliageColorBasic());
    041        }
    042
    043        public String getItemNameIS(ItemStack par1ItemStack)
    044        {
    045            int var2 = par1ItemStack.getItemDamage();
    046
    047            if (var2 < 0 || var2 >= BlockLeaves.LEAF_TYPES.length)
    048            {
    049                var2 = 0;
    050            }
    051
    052            return super.getItemName() + "." + BlockLeaves.LEAF_TYPES[var2];
    053        }
    054    }