package net.minecraft.item; import com.google.common.base.Function; import net.minecraft.block.Block; public class ItemMultiTexture extends ItemBlock { protected final Block theBlock; protected final Function nameFunction; private static final String __OBFID = "CL_00000051"; public ItemMultiTexture(Block p_i45784_1_, Block p_i45784_2_, Function p_i45784_3_) { super(p_i45784_1_); this.theBlock = p_i45784_2_; this.nameFunction = p_i45784_3_; this.setMaxDamage(0); this.setHasSubtypes(true); } public ItemMultiTexture(Block p_i45346_1_, Block p_i45346_2_, final String[] p_i45346_3_) { this(p_i45346_1_, p_i45346_2_, new Function() { private static final String __OBFID = "CL_00002161"; public String apply(ItemStack p_179541_1_) { int var2 = p_179541_1_.getMetadata(); if (var2 < 0 || var2 >= p_i45346_3_.length) { var2 = 0; } return p_i45346_3_[var2]; } public Object apply(Object p_apply_1_) { return this.apply((ItemStack)p_apply_1_); } }); } /** * Converts the given ItemStack damage value into a metadata value to be placed in the world when this Item is * placed as a Block (mostly used with ItemBlocks). */ public int getMetadata(int damage) { return damage; } /** * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have * different names based on their damage or NBT. */ public String getUnlocalizedName(ItemStack stack) { return super.getUnlocalizedName() + "." + (String)this.nameFunction.apply(stack); } }