package net.t2code.commandguiv2.api; import net.t2code.commandguiv2.Spigot.config.config.Config; import net.t2code.commandguiv2.Spigot.config.gui.GuiFile; import net.t2code.commandguiv2.Spigot.config.languages.Languages; import net.t2code.commandguiv2.Spigot.useItem.ItemChange; import net.t2code.commandguiv2.Spigot.useItem.Events; import net.t2code.commandguiv2.Spigot.Main; import net.t2code.commandguiv2.Spigot.cmdManagement.Commands; import net.t2code.commandguiv2.Spigot.cmdManagement.Help; import net.t2code.commandguiv2.Spigot.system.Permissions; import net.t2code.commandguiv2.Spigot.database.SelectDatabase; import net.t2code.commandguiv2.Util; import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import java.util.Objects; public class CGuiAPI { public static Boolean JoinDisable = false; public static void onItemChange(Player player) { onItemChange(player,false); } public static void onItemChange(Player player, Boolean setCursor) { ItemChange.itemChange(player, setCursor); } public static boolean hasUseItemInMainHand(@NotNull Player player) { ItemStack item = player.getInventory().getItemInMainHand(); return item.hasItemMeta() && Objects.requireNonNull(item.getItemMeta()).hasDisplayName() && item.getItemMeta().getDisplayName().equals( Config.VALUES.useItemName.getValue().toString()); } public static boolean hasUseItemInOffHand(@NotNull Player player) { ItemStack item = player.getInventory().getItemInOffHand(); return item.hasItemMeta() && Objects.requireNonNull(item.getItemMeta()).hasDisplayName() && item.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString()); } public static void disableItemGiveOnJoin(Boolean disableItemGiveOnJoin) { T2C_Debug.debug(Main.getPlugin(), "CGuiAPI: " + disableItemGiveOnJoin); JoinDisable = disableItemGiveOnJoin; } public static Boolean selectPlayerItemEnable(@NotNull Player player) { return Events.useItemHashMap.get(player.getName()); } public static Integer selectPlayerItemSlot(@NotNull Player player) { return Events.useItemSlotHashMap.get(player.getName()); } public static void setPlayerItemEnable(Player player, @NotNull Boolean value) { if (value) { SelectDatabase.setItemStatusTrue(player); } else SelectDatabase.setItemStatusFalse(player); } public static void setPlayerItemSlot(Player player, Integer value) { SelectDatabase.setSlot(player, value); } public static void openDefaultGUI(Player player) { Commands.gui(player); } public static void openGUI(Player player, String GUI_CommandName) { Commands.gui(player, GUI_CommandName); } public static void sendHelp(CommandSender sender) { Help.sendHelp(sender, Util.getPrefix()); } public static void sendPluginInfo(@NotNull CommandSender sender) { if (sender.hasPermission(Permissions.info)) { Commands.info(sender); } else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString() .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info)); } public static void createDefaultGUI(@NotNull CommandSender sender) { if (sender.hasPermission(Permissions.admin)) { GuiFile.createDefault(true); sender.sendMessage(Languages.VALUES.DefaultGUIcreate.getValue().toString().replace("[directory]", Main.getPath() + "\\GUIs\\default.yml")); } else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString() .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin)); } public static void reload(@NotNull CommandSender sender) { if (sender.hasPermission(Permissions.admin)) { Commands.reload(sender); } else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString() .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin)); } }