001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 006 public class ItemLilyPad extends ItemColored 007 { 008 public ItemLilyPad(int par1) 009 { 010 super(par1, false); 011 } 012 013 /** 014 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer 015 */ 016 public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) 017 { 018 MovingObjectPosition var4 = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); 019 020 if (var4 == null) 021 { 022 return par1ItemStack; 023 } 024 else 025 { 026 if (var4.typeOfHit == EnumMovingObjectType.TILE) 027 { 028 int var5 = var4.blockX; 029 int var6 = var4.blockY; 030 int var7 = var4.blockZ; 031 032 if (!par2World.canMineBlock(par3EntityPlayer, var5, var6, var7)) 033 { 034 return par1ItemStack; 035 } 036 037 if (!par3EntityPlayer.canPlayerEdit(var5, var6, var7, var4.sideHit, par1ItemStack)) 038 { 039 return par1ItemStack; 040 } 041 042 if (par2World.getBlockMaterial(var5, var6, var7) == Material.water && par2World.getBlockMetadata(var5, var6, var7) == 0 && par2World.isAirBlock(var5, var6 + 1, var7)) 043 { 044 par2World.setBlockWithNotify(var5, var6 + 1, var7, Block.waterlily.blockID); 045 046 if (!par3EntityPlayer.capabilities.isCreativeMode) 047 { 048 --par1ItemStack.stackSize; 049 } 050 } 051 } 052 053 return par1ItemStack; 054 } 055 } 056 057 @SideOnly(Side.CLIENT) 058 public int getColorFromItemStack(ItemStack par1ItemStack, int par2) 059 { 060 return Block.waterlily.getRenderColor(par1ItemStack.getItemDamage()); 061 } 062 }