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.block.BlockLeaves; 007import net.minecraft.util.Icon; 008import net.minecraft.world.ColorizerFoliage; 009 010public class ItemLeaves extends ItemBlock 011{ 012 public ItemLeaves(int par1) 013 { 014 super(par1); 015 this.setMaxDamage(0); 016 this.setHasSubtypes(true); 017 } 018 019 /** 020 * Returns the metadata of the block which this Item (ItemBlock) can place 021 */ 022 public int getMetadata(int par1) 023 { 024 return par1 | 4; 025 } 026 027 @SideOnly(Side.CLIENT) 028 029 /** 030 * Gets an icon index based on an item's damage value 031 */ 032 public Icon getIconFromDamage(int par1) 033 { 034 return Block.leaves.getIcon(0, par1); 035 } 036 037 @SideOnly(Side.CLIENT) 038 public int getColorFromItemStack(ItemStack par1ItemStack, int par2) 039 { 040 int j = par1ItemStack.getItemDamage(); 041 return (j & 1) == 1 ? ColorizerFoliage.getFoliageColorPine() : ((j & 2) == 2 ? ColorizerFoliage.getFoliageColorBirch() : ColorizerFoliage.getFoliageColorBasic()); 042 } 043 044 /** 045 * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have 046 * different names based on their damage or NBT. 047 */ 048 public String getUnlocalizedName(ItemStack par1ItemStack) 049 { 050 int i = par1ItemStack.getItemDamage(); 051 052 if (i < 0 || i >= BlockLeaves.LEAF_TYPES.length) 053 { 054 i = 0; 055 } 056 057 return super.getUnlocalizedName() + "." + BlockLeaves.LEAF_TYPES[i]; 058 } 059}