diff options
Diffstat (limited to 'Bukkit-Patches/0010-InventoryClickEvent-getClickedInventory.patch')
-rw-r--r-- | Bukkit-Patches/0010-InventoryClickEvent-getClickedInventory.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Bukkit-Patches/0010-InventoryClickEvent-getClickedInventory.patch b/Bukkit-Patches/0010-InventoryClickEvent-getClickedInventory.patch new file mode 100644 index 0000000000..19bbf6c596 --- /dev/null +++ b/Bukkit-Patches/0010-InventoryClickEvent-getClickedInventory.patch @@ -0,0 +1,54 @@ +From e2cb5a26036e1387fd4d603605fe4c8e7ced3840 Mon Sep 17 00:00:00 2001 +From: Aikar <[email protected]> +Date: Sun, 7 Jul 2013 10:32:05 -0400 +Subject: [PATCH] InventoryClickEvent getClickedInventory + +Add InventoryClickEvent.getClickedInventory. Adds BUKKIT-4495 +Plugins currently have to do the logic themselves on the raw slot ID +in order to determine the inventory clicked. This provides the logic for plugins to +readily identify which inventory was clicked. + +diff --git a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java +index 28198b8..3313d91 100644 +--- a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java ++++ b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java +@@ -47,6 +47,7 @@ public class InventoryClickEvent extends InventoryInteractEvent { + private static final HandlerList handlers = new HandlerList(); + private final ClickType click; + private final InventoryAction action; ++ private final Inventory clickedInventory; + private SlotType slot_type; + private int whichSlot; + private int rawSlot; +@@ -62,6 +63,13 @@ public class InventoryClickEvent extends InventoryInteractEvent { + super(view); + this.slot_type = type; + this.rawSlot = slot; ++ if (slot < 0) { ++ this.clickedInventory = null; ++ } else if (view.getTopInventory() != null && slot < view.getTopInventory().getSize()) { ++ this.clickedInventory = view.getTopInventory(); ++ } else { ++ this.clickedInventory = view.getBottomInventory(); ++ } + this.whichSlot = view.convertSlot(slot); + this.click = click; + this.action = action; +@@ -73,6 +81,14 @@ public class InventoryClickEvent extends InventoryInteractEvent { + } + + /** ++ * Gets the inventory that was clicked, or null if outside of window ++ * @return The clicked inventory ++ */ ++ public Inventory getClickedInventory() { ++ return clickedInventory; ++ } ++ ++ /** + * Gets the type of slot that was clicked. + * + * @return the slot type +-- +1.9.1 + |