diff --git a/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java b/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java index e7eb10e..a24927d 100644 --- a/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java +++ b/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java @@ -57,8 +57,8 @@ public boolean onCommand(CommandSender sender, Command command, .ChatColor("&7/bookgui - Open main menu.")); player.sendMessage(RPBookGUIUtils.ChatColor( "&7/bookgui help - This help message.")); - player.sendMessage(RPBookGUIUtils.ChatColor( - "&7/bookgui settings - Open settings menu.")); +// player.sendMessage(RPBookGUIUtils.ChatColor( +// "&7/bookgui settings - Open settings menu.")); player.sendMessage(RPBookGUIUtils.ChatColor( "&7/bookgui info - show plugin info.")); player.sendMessage(RPBookGUIUtils.ChatColor( @@ -70,19 +70,19 @@ public boolean onCommand(CommandSender sender, Command command, "messages.no permission"))); return false; } - } else if (args[0].equalsIgnoreCase("settings")) { - if (player - .hasPermission(rpbgConfig.getString( - "permissions.bookgui settings")) - || player.isOp()) { - player.openInventory(Inventories.settingsInventory()); - return true; - } else { - player.sendMessage(RPBookGUIUtils - .ChatColor(rpbgConfig.getString( - "messages.no permission"))); - return false; - } +// } else if (args[0].equalsIgnoreCase("settings")) { +// if (player +// .hasPermission(rpbgConfig.getString( +// "permissions.bookgui settings")) +// || player.isOp()) { +// player.openInventory(Inventories.settingsInventory()); +// return true; +// } else { +// player.sendMessage(RPBookGUIUtils +// .ChatColor(rpbgConfig.getString( +// "messages.no permission"))); +// return false; +// } } else if (args[0].equalsIgnoreCase("info")) { if (player .hasPermission(rpbgConfig diff --git a/src/main/java/io/github/puyodead1/rpbookgui/Events/SettingsInventoryClick.java b/src/main/java/io/github/puyodead1/rpbookgui/Events/SettingsInventoryClick.java new file mode 100644 index 0000000..d7add72 --- /dev/null +++ b/src/main/java/io/github/puyodead1/rpbookgui/Events/SettingsInventoryClick.java @@ -0,0 +1,58 @@ +package io.github.puyodead1.rpbookgui.Events; + +import org.bukkit.Material; +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.inventory.ItemStack; + +import io.github.puyodead1.rpbookgui.Inventories; +import io.github.puyodead1.rpbookgui.ItemStacks; +import io.github.puyodead1.rpbookgui.RPBookGUI; +import io.github.puyodead1.rpbookgui.Utils.RPBookGUIUtils; + +public class SettingsInventoryClick extends RPBookGUIUtils implements Listener { + + @EventHandler + public void InventoryClickEvent(InventoryClickEvent e) { + if (!e.isCancelled() && e.getCurrentItem() != null + && !e.getCurrentItem().getType().equals(Material.AIR) + && e.getClickedInventory() != null && e.getCursor() != null + && !e.getClick().equals(ClickType.DOUBLE_CLICK)) { + ItemStack item = e.getCurrentItem(); + Player player = (Player) e.getWhoClicked(); + String invTitle = e.getView().getTitle(); + + if (invTitle.equals("RPBookGUI Settings")) { + e.setCancelled(true); + + if (item.getItemMeta().getDisplayName().equals(ItemStacks.Back() + .clone().getItemMeta().getDisplayName())) + player.getOpenInventory().close(); + if (item.getItemMeta().getDisplayName() + .equals(ItemStacks.KeepMenuOpenSetting().clone() + .getItemMeta().getDisplayName())) { + RPBookGUI.getPlugin.getConfig().set("settings.keepinvopen", + !RPBookGUI.getPlugin.getConfig() + .getBoolean("settings.keepinvopen")); + + player.getOpenInventory().close(); + player.openInventory(Inventories.settingsInventory()); + } + if (item.getItemMeta().getDisplayName() + .equals(ItemStacks.UsePermissionsSetting().clone() + .getItemMeta().getDisplayName())) { + RPBookGUI.getPlugin.getConfig().set( + "settings.usepermissions", + !RPBookGUI.getPlugin.getConfig() + .getBoolean("settings.usepermissions")); + + player.getOpenInventory().close(); + player.openInventory(Inventories.settingsInventory()); + } + } + } + } +} diff --git a/src/main/java/io/github/puyodead1/rpbookgui/RPBookGUI.java b/src/main/java/io/github/puyodead1/rpbookgui/RPBookGUI.java index 8c05c79..41dd46d 100644 --- a/src/main/java/io/github/puyodead1/rpbookgui/RPBookGUI.java +++ b/src/main/java/io/github/puyodead1/rpbookgui/RPBookGUI.java @@ -25,6 +25,7 @@ import io.github.puyodead1.rpbookgui.Commands.BookGUICommand; import io.github.puyodead1.rpbookgui.Commands.RarityInfo; import io.github.puyodead1.rpbookgui.Events.RarityInventoryClick; +import io.github.puyodead1.rpbookgui.Events.SettingsInventoryClick; import io.github.puyodead1.rpbookgui.Events.SuccessDestroyInventoryClick; import io.github.puyodead1.rpbookgui.Events.EnchantInventoryClick; import io.github.puyodead1.rpbookgui.Events.MainInventoryClick; @@ -116,6 +117,8 @@ public void InitEvents() { .registerEvents(new EnchantInventoryClick(), this); getServer().getPluginManager() .registerEvents(new SuccessDestroyInventoryClick(), this); + getServer().getPluginManager() + .registerEvents(new SettingsInventoryClick(), this); Bukkit.getConsoleSender().sendMessage( RPBookGUIUtils.ChatColor("&7[&dRPBookGUI&7] &bLoaded Events &e("