diff --git a/pom.xml b/pom.xml
index 5920b65..9174bb4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -187,7 +187,7 @@
io.lumine
MythicLib-dist
- 1.5.2-SNAPSHOT
+ LATEST
provided
diff --git a/resource/plugin.yml b/resource/plugin.yml
index a17d99e..26497e6 100644
--- a/resource/plugin.yml
+++ b/resource/plugin.yml
@@ -1,4 +1,4 @@
-version: 3.20.0.2
+version: 3.20.0.3
main: me.rockyhawk.commandpanels.CommandPanels
name: CommandPanels
author: RockyHawk
diff --git a/src/me/rockyhawk/commandpanels/CommandPanels.java b/src/me/rockyhawk/commandpanels/CommandPanels.java
index 5980f0b..f2145f9 100644
--- a/src/me/rockyhawk/commandpanels/CommandPanels.java
+++ b/src/me/rockyhawk/commandpanels/CommandPanels.java
@@ -26,6 +26,7 @@ import me.rockyhawk.commandpanels.editor.*;
import me.rockyhawk.commandpanels.generatepanels.Commandpanelsgenerate;
import me.rockyhawk.commandpanels.generatepanels.GenUtils;
import me.rockyhawk.commandpanels.generatepanels.TabCompleteGenerate;
+import me.rockyhawk.commandpanels.interactives.OutsideClickEvent;
import me.rockyhawk.commandpanels.interactives.input.UserInputUtils;
import me.rockyhawk.commandpanels.interactives.Commandpanelrefresher;
import me.rockyhawk.commandpanels.interactives.OpenOnJoin;
@@ -180,6 +181,7 @@ public class CommandPanels extends JavaPlugin{
this.getServer().getPluginManager().registerEvents(new GenUtils(this), this);
this.getServer().getPluginManager().registerEvents(new ItemFallManager(this), this);
this.getServer().getPluginManager().registerEvents(new OpenOnJoin(this), this);
+ this.getServer().getPluginManager().registerEvents(new OutsideClickEvent(this), this);
//load in the updater if requested
if (Objects.requireNonNull(config.getString("updater.update-checks")).equalsIgnoreCase("true")) {
diff --git a/src/me/rockyhawk/commandpanels/classresources/ItemCreation.java b/src/me/rockyhawk/commandpanels/classresources/ItemCreation.java
index 8fad8f5..35aa359 100644
--- a/src/me/rockyhawk/commandpanels/classresources/ItemCreation.java
+++ b/src/me/rockyhawk/commandpanels/classresources/ItemCreation.java
@@ -9,6 +9,7 @@ import me.rockyhawk.commandpanels.api.Panel;
import me.rockyhawk.commandpanels.ioclasses.legacy.MinecraftVersions;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import net.Indyuce.mmoitems.MMOItems;
+import net.Indyuce.mmoitems.api.MMOItemsAPI;
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
import net.Indyuce.mmoitems.manager.ItemManager;
import org.bukkit.*;
diff --git a/src/me/rockyhawk/commandpanels/interactives/OutsideClickEvent.java b/src/me/rockyhawk/commandpanels/interactives/OutsideClickEvent.java
new file mode 100644
index 0000000..4c3327e
--- /dev/null
+++ b/src/me/rockyhawk/commandpanels/interactives/OutsideClickEvent.java
@@ -0,0 +1,38 @@
+package me.rockyhawk.commandpanels.interactives;
+
+import me.rockyhawk.commandpanels.CommandPanels;
+import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.ClickType;
+import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.event.inventory.InventoryType;
+
+public class OutsideClickEvent implements Listener {
+ CommandPanels plugin;
+ public OutsideClickEvent(CommandPanels pl) {
+ this.plugin = pl;
+ }
+ @EventHandler
+ public void onOutsideClick(InventoryClickEvent e){
+ Player p = (Player)e.getWhoClicked();
+
+ //cancel while a panel is open
+ if(plugin.openPanels.hasPanelOpen(p.getName(), PanelPosition.Top) || e.getClick() == ClickType.DOUBLE_CLICK){
+ return;
+ }
+
+ //if there is no panel open, use outside-commands from config.yml
+ if(e.getSlotType() == InventoryType.SlotType.OUTSIDE){
+ //if the panel is clicked on the outside area of the GUI
+ if (plugin.config.contains("outside-commands")) {
+ try {
+ plugin.commandTags.runCommands(null,PanelPosition.Top,p, plugin.config.getStringList("outside-commands"),e.getClick());
+ }catch(Exception s){
+ plugin.debug(s,p);
+ }
+ }
+ }
+ }
+}