From 164b687bcd4eef07ccf216ba0aca04309895261d Mon Sep 17 00:00:00 2001 From: James Logsdon Date: Fri, 11 Feb 2011 17:08:53 -0500 Subject: [PATCH] Adding PLAYER_PICKUP_ITEM event --- src/main/java/org/bukkit/event/Event.java | 9 ++- .../event/player/PlayerPickupItemEvent.java | 55 +++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/bukkit/event/player/PlayerPickupItemEvent.java diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java index df84204c..50332a42 100644 --- a/src/main/java/org/bukkit/event/Event.java +++ b/src/main/java/org/bukkit/event/Event.java @@ -241,6 +241,13 @@ public abstract class Event { */ PLAYER_DROP_ITEM (Category.PLAYER), + /** + * Called when a player picks an item up off the ground + * + * @see org.bukkit.event.player.PlayerPickupItemEvent + */ + PLAYER_PICKUP_ITEM (Category.PLAYER), + /** * BLOCK EVENTS */ @@ -445,7 +452,7 @@ public abstract class Event { * @todo: add javadoc see comment */ ITEM_SPAWN (Category.WORLD), - + /** * Called when a world is saved * diff --git a/src/main/java/org/bukkit/event/player/PlayerPickupItemEvent.java b/src/main/java/org/bukkit/event/player/PlayerPickupItemEvent.java new file mode 100644 index 00000000..c71ff704 --- /dev/null +++ b/src/main/java/org/bukkit/event/player/PlayerPickupItemEvent.java @@ -0,0 +1,55 @@ + +package org.bukkit.event.player; + +import org.bukkit.entity.Item; +import org.bukkit.entity.Player; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; + +/** + * Thrown when a player picks an item up from the ground + */ +public class PlayerPickupItemEvent extends PlayerEvent implements Cancellable { + private final Item item; + private boolean cancel = false; + + public PlayerPickupItemEvent(final Player player, final Item item) { + super(Event.Type.PLAYER_PICKUP_ITEM, player); + this.item = item; + } + + /** + * Gets the ItemDrop created by the player + * + * @return Item + */ + public Item getItem() { + return item; + } + + /** + * Gets the cancellation state of this event. A cancelled event will not + * be executed in the server, but will still pass to other plugins + * + * If an item pickup event is cancelled, the item will not be picked up. + * This will not fire an event. + * + * @return true if this event is cancelled + */ + public boolean isCancelled() { + return cancel; + } + + /** + * Sets the cancellation state of this event. A cancelled event will not + * be executed in the server, but will still pass to other plugins + * + * If an item pickup event is cancelled, the item will not be picked up. + * This will not fire an event. + * + * @param cancel true if you wish to cancel this event + */ + public void setCancelled(boolean cancel) { + this.cancel = cancel; + } +}