From f0544a90fcf8cdb72d9b48974a5df5cffeb86a58 Mon Sep 17 00:00:00 2001 From: Erik Broes Date: Mon, 21 Mar 2011 00:48:34 +0100 Subject: Added PlayerBucket events --- src/main/java/org/bukkit/event/Event.java | 14 ++++++ .../event/player/PlayerBucketEmptyEvent.java | 53 ++++++++++++++++++++++ .../bukkit/event/player/PlayerBucketFillEvent.java | 51 +++++++++++++++++++++ .../org/bukkit/event/player/PlayerListener.java | 16 +++++++ .../org/bukkit/plugin/java/JavaPluginLoader.java | 12 +++++ 5 files changed, 146 insertions(+) create mode 100644 src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java create mode 100644 src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java (limited to 'src') diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java index 6404a542..ea703032 100644 --- a/src/main/java/org/bukkit/event/Event.java +++ b/src/main/java/org/bukkit/event/Event.java @@ -250,6 +250,20 @@ public abstract class Event implements Serializable { */ PLAYER_PICKUP_ITEM (Category.PLAYER), + /** + * Called when a player empties a bucket + * + * @see org.bukkit.event.player.PlayerBucketEmptyEvent + */ + PLAYER_BUCKET_EMPTY(Category.PLAYER), + + /** + * Called when a player fills a bucket + * + * @see org.bukkit.event.player.PlayerBucketFillEvent + */ + PLAYER_BUCKET_FILL(Category.PLAYER), + /** * BLOCK EVENTS */ diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java new file mode 100644 index 00000000..38f315dc --- /dev/null +++ b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java @@ -0,0 +1,53 @@ +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.event.Event.Type; +import org.bukkit.inventory.ItemStack; + +public class PlayerBucketEmptyEvent extends PlayerEvent implements Cancellable { + ItemStack itemStack; + boolean cancelled = false; + Block blockClicked; + BlockFace blockFace; + Material bucket; + + public PlayerBucketEmptyEvent(Player who, Block blockClicked, BlockFace blockFace, Material bucket, ItemStack itemInHand) { + super(Type.PLAYER_BUCKET_EMPTY, who); + this.blockClicked = blockClicked; + this.blockFace = blockFace; + this.itemStack = itemInHand; + this.bucket = bucket; + } + + public Material getBucket() { + return bucket; + } + + public ItemStack getItemStack() { + return itemStack; + } + + public Block getBlockClicked() { + return blockClicked; + } + + public BlockFace getBlockFace() { + return blockFace; + } + + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + + public boolean isCancelled() { + return cancelled; + } + + public void setCancelled(boolean cancel) { + this.cancelled = cancel; + } +} diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java new file mode 100644 index 00000000..a1424452 --- /dev/null +++ b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java @@ -0,0 +1,51 @@ +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.inventory.ItemStack; + +public class PlayerBucketFillEvent extends PlayerEvent { + ItemStack itemStack; + boolean cancelled = false; + Block blockClicked; + BlockFace blockFace; + Material bucket; + + public PlayerBucketFillEvent(Player who, Block blockClicked, BlockFace blockFace, Material bucket, ItemStack itemInHand) { + super(Type.PLAYER_BUCKET_FILL, who); + this.blockClicked = blockClicked; + this.blockFace = blockFace; + this.itemStack = itemInHand; + this.bucket = bucket; + } + + public Material getBucket() { + return bucket; + } + + public ItemStack getItemStack() { + return itemStack; + } + + public Block getBlockClicked() { + return blockClicked; + } + + public BlockFace getBlockFace() { + return blockFace; + } + + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + + public boolean isCancelled() { + return cancelled; + } + + public void setCancelled(boolean cancel) { + this.cancelled = cancel; + } +} diff --git a/src/main/java/org/bukkit/event/player/PlayerListener.java b/src/main/java/org/bukkit/event/player/PlayerListener.java index 3d00bd34..bc18d131 100644 --- a/src/main/java/org/bukkit/event/player/PlayerListener.java +++ b/src/main/java/org/bukkit/event/player/PlayerListener.java @@ -146,4 +146,20 @@ public class PlayerListener implements Listener { */ public void onPlayerToggleSneak(PlayerToggleSneakEvent event) { } + + /** + * Called when a player fills a bucket + * + * @param event Relevant event details + */ + public void onPlayerBucketFill(PlayerBucketFillEvent event) { + } + + /** + * Called when a player empties a bucket + * + * @param event Relevant event details + */ + public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) { + } } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java index f712452d..d0170bbb 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -243,6 +243,18 @@ public final class JavaPluginLoader implements PluginLoader { } }; + case PLAYER_BUCKET_EMPTY: + return new EventExecutor() { public void execute( Listener listener, Event event) { + ((PlayerListener) listener).onPlayerBucketEmpty((PlayerBucketEmptyEvent) event); + } + }; + + case PLAYER_BUCKET_FILL: + return new EventExecutor() { public void execute( Listener listener, Event event) { + ((PlayerListener) listener).onPlayerBucketFill((PlayerBucketFillEvent) event); + } + }; + // Block Events case BLOCK_PHYSICS: return new EventExecutor() { public void execute( Listener listener, Event event ) { -- cgit v1.2.3