From 4d54fa3ec44b153828078ec0e2e14de541be662d Mon Sep 17 00:00:00 2001 From: MCreeper12731 <32846611+MCreeper12731@users.noreply.github.com> Date: Sun, 12 Mar 2023 11:47:27 +0100 Subject: [PATCH 1/3] Update SGMenuListener.java --- src/main/java/com/samjakob/spigui/menu/SGMenuListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java index b02d4b6..d292b66 100644 --- a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java +++ b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java @@ -36,6 +36,9 @@ public void onInventoryClick(InventoryClickEvent event) { // by that plugin that does own the GUI.) if (!clickedGui.getOwner().equals(owner)) return; + //Check if the click was inside the GUI and not inside player's inventory + if (event.getClickedInventory() == null || event.getClickedInventory().getType() == InventoryType.PLAYER) return; + // If the default action is to cancel the event (block default interactions) // we'll do that now. // The inventory's value is checked first, so it can be overridden on a From 97f982b81e89ea7d7d5a73684bf4564351c9d348 Mon Sep 17 00:00:00 2001 From: MCreeper12731 <32846611+MCreeper12731@users.noreply.github.com> Date: Sun, 12 Mar 2023 11:48:34 +0100 Subject: [PATCH 2/3] Update SGMenuListener.java --- src/main/java/com/samjakob/spigui/menu/SGMenuListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java index d292b66..8c5664f 100644 --- a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java +++ b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java @@ -36,7 +36,8 @@ public void onInventoryClick(InventoryClickEvent event) { // by that plugin that does own the GUI.) if (!clickedGui.getOwner().equals(owner)) return; - //Check if the click was inside the GUI and not inside player's inventory + //Check if the click was inside the GUI and not inside player's inventory. + // (if not, it will ignore the click) if (event.getClickedInventory() == null || event.getClickedInventory().getType() == InventoryType.PLAYER) return; // If the default action is to cancel the event (block default interactions) From 636c0ea6508149c1d8e5a5016673d971acd57aee Mon Sep 17 00:00:00 2001 From: MCreeper12731 <32846611+MCreeper12731@users.noreply.github.com> Date: Sun, 12 Mar 2023 13:07:40 +0100 Subject: [PATCH 3/3] Update SGMenuListener.java --- .../com/samjakob/spigui/menu/SGMenuListener.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java index 8c5664f..763d481 100644 --- a/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java +++ b/src/main/java/com/samjakob/spigui/menu/SGMenuListener.java @@ -24,21 +24,18 @@ public SGMenuListener(JavaPlugin owner, SpiGUI spiGUI) { @EventHandler public void onInventoryClick(InventoryClickEvent event) { - // Determine if the inventory was a SpiGUI. - if (event.getInventory().getHolder() != null - && event.getInventory().getHolder() instanceof SGMenu) { + // Determine if the clicked inventory was a SpiGUI. + if (event.getClickedInventory() != null + && event.getClickedInventory().getHolder() != null + && event.getClickedInventory().getHolder() instanceof SGMenu) { // Get the instance of the SpiGUI that was clicked. - SGMenu clickedGui = (SGMenu) event.getInventory().getHolder(); + SGMenu clickedGui = (SGMenu) event.getClickedInventory().getHolder(); // Check if the GUI is owner by the current plugin // (if not, it'll be deferred to the SGMenuListener registered // by that plugin that does own the GUI.) if (!clickedGui.getOwner().equals(owner)) return; - - //Check if the click was inside the GUI and not inside player's inventory. - // (if not, it will ignore the click) - if (event.getClickedInventory() == null || event.getClickedInventory().getType() == InventoryType.PLAYER) return; // If the default action is to cancel the event (block default interactions) // we'll do that now.