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.func_82247_a(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 func_82790_a(ItemStack par1ItemStack, int par2)
059        {
060            return Block.waterlily.getRenderColor(par1ItemStack.getItemDamage());
061        }
062    }