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 }