package net.minecraft.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class ItemLilyPad extends ItemColored { private static final String __OBFID = "CL_00000074"; public ItemLilyPad(Block p_i45357_1_) { super(p_i45357_1_, false); } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer player) { MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(worldIn, player, true); if (movingobjectposition == null) { return itemStackIn; } else { if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { int i = movingobjectposition.blockX; int j = movingobjectposition.blockY; int k = movingobjectposition.blockZ; if (!worldIn.canMineBlock(player, i, j, k)) { return itemStackIn; } if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, itemStackIn)) { return itemStackIn; } if (worldIn.getBlock(i, j, k).getMaterial() == Material.water && worldIn.getBlockMetadata(i, j, k) == 0 && worldIn.isAirBlock(i, j + 1, k)) { // special case for handling block placement with water lilies net.minecraftforge.common.util.BlockSnapshot blocksnapshot = net.minecraftforge.common.util.BlockSnapshot.getBlockSnapshot(worldIn, i, j + 1, k); worldIn.setBlock(i, j + 1, k, Blocks.waterlily); if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(player, blocksnapshot, net.minecraftforge.common.util.ForgeDirection.UP).isCanceled()) { blocksnapshot.restore(true, false); return itemStackIn; } if (!player.capabilities.isCreativeMode) { --itemStackIn.stackSize; } } } return itemStackIn; } } @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack p_82790_1_, int p_82790_2_) { return Blocks.waterlily.getRenderColor(p_82790_1_.getMetadata()); } }