    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))
    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 getColorFromDamage(int par1, int par2)
    059        {
    060            return Block.waterlily.getRenderColor(par1);
    061        }
    062    }