package org.bukkit.event.player; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.inventory.ItemStack; /** * Called when a player interacts with a Bucket */ public abstract class PlayerBucketEvent extends PlayerEvent implements Cancellable { private ItemStack itemStack; private boolean cancelled = false; private final Block blockClicked; private final BlockFace blockFace; private final Material bucket; public PlayerBucketEvent(final Player who, final Block blockClicked, final BlockFace blockFace, final Material bucket, final ItemStack itemInHand) { super(who); this.blockClicked = blockClicked; this.blockFace = blockFace; this.itemStack = itemInHand; this.bucket = bucket; } /** * Returns the bucket used in this event * * @return the used bucket */ public Material getBucket() { return bucket; } /** * Get the resulting item in hand after the bucket event * * @return Itemstack hold in hand after the event. */ public ItemStack getItemStack() { return itemStack; } /** * Set the item in hand after the event * * @param itemStack the new held itemstack after the bucket event. */ public void setItemStack(ItemStack itemStack) { this.itemStack = itemStack; } /** * Return the block clicked * * @return the clicked block */ public Block getBlockClicked() { return blockClicked; } /** * Get the face on the clicked block * * @return the clicked face */ public BlockFace getBlockFace() { return blockFace; } public boolean isCancelled() { return cancelled; } public void setCancelled(boolean cancel) { this.cancelled = cancel; } }