diff --git a/src/me/rockyhawk/commandpanels/Utils.java b/src/me/rockyhawk/commandpanels/Utils.java index a2b0d8f..36cf3c4 100644 --- a/src/me/rockyhawk/commandpanels/Utils.java +++ b/src/me/rockyhawk/commandpanels/Utils.java @@ -150,8 +150,15 @@ public class Utils implements Listener { //end custom command PlaceHolders - //do commands - String command = plugin.tex.papi(panel,p,commands.get(i)); + //make the command + String command; + if(commands.get(i).split("\\s")[0].equalsIgnoreCase("nopapi=")){ + //won't parse PAPI placeholders + command = plugin.tex.papi(plugin.placeholders.setCpPlaceholders(panel,p,commands.get(i))).replace("nopapi=","").trim(); + }else{ + //will parse every placeholder + command = plugin.tex.papi(panel,p,commands.get(i)); + } int val = plugin.commandTags.commandPayWall(p,command); if(val == 0){ diff --git a/src/me/rockyhawk/commandpanels/classresources/ExecuteOpenVoids.java b/src/me/rockyhawk/commandpanels/classresources/ExecuteOpenVoids.java index 9afd2e3..928dea8 100644 --- a/src/me/rockyhawk/commandpanels/classresources/ExecuteOpenVoids.java +++ b/src/me/rockyhawk/commandpanels/classresources/ExecuteOpenVoids.java @@ -62,8 +62,6 @@ public class ExecuteOpenVoids { try { //create and open the GUI plugin.createGUI.openGui(panel, p,1,0); - //open the panel - plugin.openPanels.openPanelForLoader(p.getName(), panel); //execute commands once the panel opens if (panel.getConfig().contains("commands-on-open")) { diff --git a/src/me/rockyhawk/commandpanels/openpanelsmanager/OpenGUI.java b/src/me/rockyhawk/commandpanels/openpanelsmanager/OpenGUI.java index 3593068..a8ddc85 100644 --- a/src/me/rockyhawk/commandpanels/openpanelsmanager/OpenGUI.java +++ b/src/me/rockyhawk/commandpanels/openpanelsmanager/OpenGUI.java @@ -160,6 +160,8 @@ public class OpenGUI { } if (onOpen == 1 || onOpen == 3) { //onOpen 1 is default and 3 is for the editor + //open the panel + plugin.openPanels.openPanelForLoader(p.getName(), panel); p.openInventory(i); } else if (onOpen == 0) { //onOpen 0 will just refresh the panel diff --git a/src/me/rockyhawk/commandpanels/openpanelsmanager/UtilsPanelsLoader.java b/src/me/rockyhawk/commandpanels/openpanelsmanager/UtilsPanelsLoader.java index 504a1c7..12486e1 100644 --- a/src/me/rockyhawk/commandpanels/openpanelsmanager/UtilsPanelsLoader.java +++ b/src/me/rockyhawk/commandpanels/openpanelsmanager/UtilsPanelsLoader.java @@ -4,9 +4,11 @@ import me.rockyhawk.commandpanels.CommandPanels; import me.rockyhawk.commandpanels.ioclasses.NBTEditor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; +import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.ItemStack; @@ -55,4 +57,14 @@ public class UtilsPanelsLoader implements Listener { } } } + + //if the regular InventoryOpenEvent is called + @EventHandler(priority = EventPriority.HIGHEST) + public void vanillaOpenedEvent(InventoryOpenEvent e){ + if(e.isCancelled()) { + if (plugin.openPanels.hasPanelOpen(e.getPlayer().getName())) { + plugin.openPanels.closePanelForLoader(e.getPlayer().getName()); + } + } + } }