package de.jatitv.commandguiv2.Spigot.cmdManagement; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.objects.Obj_Select; import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister; import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; import de.jatitv.commandguiv2.Spigot.system.UseItem; import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.system.Permissions; import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import java.util.Objects; public class Commands { public static void info(CommandSender sender) { if (sender instanceof Player) { Player player = (Player) sender; send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4======="); send.player(player, Util.getPrefix() + " §2Autor: §6" + String.valueOf(Main.autor).replace("[", "").replace("]", "")); if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) { send.player(player, Util.getPrefix() + " §2Version: §6" + Main.version); } else { UpdateAPI.sendUpdateMsg(Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion, player); } send.player(player, Util.getPrefix() + " §2Spigot: §6" + Util.getSpigot()); send.player(player, Util.getPrefix() + " §2Discord: §6" + Util.getDiscord()); send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4======="); } else { send.sender(sender, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4======="); send.sender(sender, Util.getPrefix() + " §2String.valueOf(Main.autor): §6" + String.valueOf(String.valueOf(Main.autor)).replace("[", "").replace("]", "")); if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) { send.sender(sender, Util.getPrefix() + " §2Version: §6" + Main.version); } else { UpdateAPI.sendUpdateMsg(Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion); } send.sender(sender, Util.getPrefix() + " §2Spigot: §6" + Util.getSpigot()); send.sender(sender, Util.getPrefix() + " §2Discord: §6" + Util.getDiscord()); send.sender(sender, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4======="); } } public static void reload(CommandSender sender) { if (sender instanceof Player) sender.sendMessage(SelectMessages.ReloadStart); send.console(Util.getPrefix() + "§8-------------------------------"); send.console(Util.getPrefix() + " §6Plugin reload..."); send.console(Util.getPrefix() + "§8-------------------------------"); CmdExecuter_GUITab.arg1.clear(); CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); ConfigCreate.configCreate(); SelectConfig.onSelect(); Main.plugin.reloadConfig(); if (!Objects.equals(SelectDatabase.getStorage().toString(), SelectConfig.storage)) { if (sender instanceof Player) send.sender(sender, "You have changed the storage medium! To apply this change, you must restart the server!"); send.console("You have changed the storage medium! To apply this change, you must restart the server!"); } LanguagesCreate.langCreate(); Obj_Select.onSelect(); SelectMessages.onSelect(Util.getPrefix()); SelectConfig.sound(Util.getPrefix()); try { AliasRegister.onRegister(); } catch (Exception e) { e.printStackTrace(); } try { Permissions.onPermRegister(); } catch (Exception e) { e.printStackTrace(); } if (SelectConfig.Bungee) { Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee"); } if (sender instanceof Player) sender.sendMessage(SelectMessages.ReloadEnd); send.console(Util.getPrefix() + "§8-------------------------------"); send.console(Util.getPrefix() + " §2Plugin successfully reloaded."); send.console(Util.getPrefix() + "§8-------------------------------"); } public static void give(CommandSender sender, Player target) { if (Bukkit.getPlayer(target.getName()) != null) { UseItem.giveUseItem(target); send.sender(sender, SelectMessages.Give_Sender.replace("[player]", target.getName()).replace("[item]", SelectConfig.UseItem_Name)); send.player(target, SelectMessages.Give_Receiver.replace("[sender]", sender.getName()).replace("[item]", SelectConfig.UseItem_Name)); if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) { target.playSound(target.getLocation(), SelectConfig.Sound_Give, 3, 1); } } else { sender.sendMessage(SelectMessages.PlayerNotFond.replace("[player]", target.getName())); if (SelectConfig.Sound_PlayerNotFound_Enable && SelectConfig.Sound_Enable) { if (sender instanceof Player) ((Player) sender).playSound(((Player) sender).getLocation(), SelectConfig.Sound_PlayerNotFound, 3, 1); } } } public static void itemOn(Player player) { UseItem.removeItem(player); Integer slot = null; if (SelectConfig.UseItem_InventorySlotEnforce) { slot = SelectConfig.UseItem_InventorySlot; } else { if (Events.useItemSlotHashMap.get(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { slot = Events.useItemSlotHashMap.get(player); } } send.debug(Main.plugin, String.valueOf(slot)); if (player.getInventory().getItem(slot - 1) == null) { SelectDatabase.setItemStatusTrue(player); UseItem.giveUseItem(player); } else { boolean empty = false; for (int i = 0; i < 9; i++) { if (player.getInventory().getItem(i) == null) { empty = true; break; } } if (empty) { SelectDatabase.setItemStatusTrue(player); UseItem.addUseItem(player); send.player(player, SelectMessages.ItemON); } else { player.sendMessage(SelectMessages.NoInventorySpace); if (SelectConfig.Sound_NoInventorySpace_Enable && SelectConfig.Sound_Enable) { player.playSound(player.getLocation(), SelectConfig.Sound_NoInventorySpace, 3, 1); } } } } public static void itemOff(Player player) { SelectDatabase.setItemStatusFalse(player); UseItem.removeItem(player); } public static void onSetSlot(Player player, Integer setSlot) { if (SelectConfig.UseItem_AllowSetSlot) { if (setSlot < 1) { send.player(player, SelectMessages.ItemSlot_wrongValue); return; } if (setSlot > 9) { send.player(player, SelectMessages.ItemSlot_wrongValue); return; } ItemStack itm1 = player.getInventory().getItem(setSlot + 1); if (itm1 != null) { if (itm1.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm1.getType() == ItemVersion.getHead()) { if (itm1.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { player.sendMessage(SelectMessages.ItemSlotAlreadySet.replace("[slot]", setSlot.toString())); return; } } } if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(setSlot - 1) != null) { send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString())); return; } UseItem.removeItem(player); SelectDatabase.setSlot(player, setSlot); Events.useItemSlotHashMap.replace(player, setSlot); if (Events.useItemHashMap.get(player)) { UseItem.giveUseItem(player); } send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.toString())); } else player.sendMessage(Util.getPrefix() + " §4Function disabled"); } public static void gui(Player player) { if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) { Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); if (gui.guiEnable || player.hasPermission("commandgui.bypass")) { if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) { OpenGUI.openGUI(player, SelectConfig.DefaultGUI, true); } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui") .replace("[perm]", "commandgui.command")); } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName)); } } public static void gui(Player player, String arg) { if (Main.guiHashMap.containsKey(arg)) { Gui gui = Main.guiHashMap.get(arg); if (gui.guiEnable || player.hasPermission("commandgui.bypass")) { if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) { OpenGUI.openGUI(player, arg, true); } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.key) .replace("[perm]", "commandgui.command." + arg.toLowerCase())); } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.key)); } else player.sendMessage(SelectMessages.GUInotFound); } }