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