diff --git a/CommandGUI V2/pom.xml b/CommandGUI V2/pom.xml index 5ba3556..9960bf5 100644 --- a/CommandGUI V2/pom.xml +++ b/CommandGUI V2/pom.xml @@ -6,10 +6,9 @@ net.t2code CommandGUI_V2 - 2.6.2_Snapshot-2 + 2.7.0 jar - CommandGUI @@ -66,7 +65,10 @@ T2Code https://repo.t2code.net/repository/T2Code/ - + + placeholderapi + https://repo.extendedclip.com/content/repositories/placeholderapi/ + @@ -83,98 +85,23 @@ net.t2code T2CodeLib - 11.4 + 11.6 net.t2code LuckyBox-API 4.2.2 - - net.t2code.minecraft.1_18.r2 - spigot - 1.18r2 - - - net.t2code.minecraft.1_18.r1 - spigot - 1.18r1 - - - net.t2code.minecraft.1_17.r1 - spigot - 1.17r1 - - - net.t2code.minecraft.1_16.r3 - spigot - 1.16r3 - net.t2code.minecraft.1_16.r2 spigot 1.16r2 - - net.t2code.minecraft.1_16.r1 - spigot - 1.16r1 - - - net.t2code.minecraft.1_15.r1 - spigot - 1.15r1 - - - net.t2code.minecraft.1_14.r1 - spigot - 1.14r1 - - - net.t2code.minecraft.1_13.r2 - spigot - 1.13r2 - - - net.t2code.minecraft.1_13.r1 - spigot - 1.13r1 - - - net.t2code.minecraft.1_12.r1 - spigot - 1.12r1 - - - net.t2code.minecraft.1_11.r1 - spigot - 1.11r1 - net.t2code.minecraft.1_10.r1 spigot 1.10r1 - - net.t2code.minecraft.1_9.r2 - spigot - 1.9r2 - - - net.t2code.minecraft.1_9.r1 - spigot - 1.9r1 - - - net.t2code.minecraft.1_8.r3 - spigot - 1.8r3 - - - net.t2code.minecraft.1_8.r2 - spigot - 1.8r2 - net.t2code.minecraft.1_8.r1 spigot @@ -183,7 +110,23 @@ com.zaxxer HikariCP - 3.4.5 + 4.0.3 + + + org.slf4j + slf4j-jdk14 + 1.7.10 + + + org.slf4j + slf4j-api + 1.7.22 + + + me.clip + placeholderapi + 2.11.1 + provided diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java deleted file mode 100644 index 1c7e936..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.Listener; - -import de.jatitv.commandguiv2.Spigot.Objekte.Slot; -import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; - -import java.util.HashMap; - -public class ConfigChat implements Listener { - public static HashMap EditChat = new HashMap<>(); - - @EventHandler - public void onChat(AsyncPlayerChatEvent playerChatEvent) { - Player player = playerChatEvent.getPlayer(); - if (EditChat.containsKey(player)) { - if (playerChatEvent.getMessage().equals("cancel")) { - //player.sendMessage(DefaultValue.SettingsGUIchatIsCanceled.replace("[setting]", EditChat.get(player))); - } else { - for (Object gui : Main.guiHashMap.values()) { - for (Slot slot : gui.GUI_Slots) { - if (slot.ConfigOptionPath.equals(EditChat.get(player))) { - - - } - } - } - } - } - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java new file mode 100644 index 0000000..7aac6c1 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java @@ -0,0 +1,277 @@ +package de.jatitv.commandguiv2.Spigot.Listener; + +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; +import de.jatitv.commandguiv2.Spigot.objects.functions.Function; +import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands; +import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; +import de.jatitv.commandguiv2.Spigot.system.Bungee_Sender_Reciver; +import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; +import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; +import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import de.jatitv.commandguiv2.Spigot.Main; +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.replace.Replace; +import net.t2code.lib.Spigot.Lib.vault.Vault; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.Sound; +import org.bukkit.configuration.file.YamlConfiguration; +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.plugin.Plugin; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; + +import java.io.File; +import java.io.IOException; + +public class GUIListener implements Listener { + + private static String prefix = Util.getPrefix(); + public static String GUICode; + private static Plugin plugin = Main.plugin; + + @EventHandler + public void onInventoryClick(InventoryClickEvent e) { + Player player = (Player) e.getWhoClicked(); + JavaPlugin plugin = Main.plugin; + if (e.getInventory() == null) return; + if (e.getCurrentItem() == null) return; + for (Gui gui : Main.guiHashMap.values()) { + if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.guiName)) + || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.guiName)))) { + e.setCancelled(true); + for (Slot slot : gui.slots) { + Function function = Main.functionHashMap.get(slot.function); + if (e.getSlot() != slot.slot) continue; + if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue; + if (slot.permission && !player.hasPermission(slot.permissionToUse)) { + player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name)) + .replace("[perm]", slot.permissionToUse)); + continue; + } + if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == ItemVersion.getGreenWool().getType() || + e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() || + e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) { + if (!slot.enable) continue; + if (function.cost_Enable) { + if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) { + + if (!Vault.buy(prefix, player, function.price)) { + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + } + }.runTaskLater(plugin, 1L); + player.sendMessage(SelectMessages.No_money); + if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable) + player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1); + } else { + player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, function.name)) + .replace("[price]", function.price + " " + SelectConfig.Currency)); + execute(function, slot, player, e, gui); + } + } + } else { + execute(function, slot, player, e, gui); + } + } + } + } + } + } + + private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) { + if (function.togglePermission) togglePerm(function, gui, player); + if (function.toggleUseItem) toggleUseItem(player, gui); + if (function.command_Enable) command(function, player); + if (function.openGUI_Enable) openGUI(function, player); + if (function.message_Enable) message(function, player); + if (function.serverChange) serverChange(function, player); + if (function.setConfigEnable) setConfig(function, player, e); + if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(function, slot, player, gui); + } + + private static void command(Function slot, Player player) { + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + } + }.runTaskLater(plugin, 1L); + new BukkitRunnable() { + @Override + public void run() { + if (slot.command_BungeeCommand) { + if (SelectConfig.Bungee) { + for (String cmd : slot.command) { + Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.commandAsConsole); + } + } else { + send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + for (String cmd : slot.command) { + if (slot.commandAsConsole) { + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName())); + } else player.chat("/" + cmd.replace("[player]", player.getName())); + } + } + } + }.runTaskLater(plugin, 2L); + } + + private static void openGUI(Function slot, Player player) { + player.closeInventory(); + new BukkitRunnable() { + @Override + public void run() { + OpenGUI.openGUI(player, slot.openGUI, true); + } + }.runTaskLater(plugin, 1L); + } + + private static void message(Function slot, Player player) { + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + } + }.runTaskLater(plugin, 1L); + for (String msg : slot.message) { + if (Main.PaPi) { + if (slot.cost_Enable) { + player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.price + " " + SelectConfig.Currency)); + } else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix))); + } else { + if (slot.cost_Enable) { + player.sendMessage(Replace.replacePrice(prefix, msg, slot.price + " " + SelectConfig.Currency)); + } else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix))); + } + } + } + + private static void serverChange(Function slot, Player player) { + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + } + }.runTaskLater(plugin, 1L); + send.player(player, SelectMessages.onServerChange.replace("[server]", slot.serverChangeServer)); + new BukkitRunnable() { + @Override + public void run() { + ServerChange.send(player, slot.serverChangeServer); + } + }.runTaskLater(Main.plugin, 20L); + } + + private static void setConfig(Function slot, Player player, InventoryClickEvent e) { + File config = new File(slot.configFilePath); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + if (e.getClick() == ClickType.LEFT) { + if (slot.configOptionPremat.equals("String")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueLeft); + } else if (slot.configOptionPremat.equals("Boolean")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueLeft); + } else if (slot.configOptionPremat.equals("Integer")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueLeft); + } else if (slot.configOptionPremat.equals("Double")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueLeft); + } else if (slot.configOptionPremat.equals("List")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueLeft); + } else { + player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo + } + } + if (e.getClick() == ClickType.RIGHT) { + if (slot.configOptionPremat.equals("String")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueRight); + } else if (slot.configOptionPremat.equals("Boolean")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueRight); + } else if (slot.configOptionPremat.equals("Integer")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueRight); + } else if (slot.configOptionPremat.equals("Double")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueRight); + } else if (slot.configOptionPremat.equals("List")) { + yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueRight); + } else { + player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo + } + } + try { + yamlConfiguration.save(config); + } catch (IOException tac) { + tac.printStackTrace(); + } + if (slot.pluginReloadEnable) { + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.pluginReloadCommand); + } + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + } + }.runTaskLater(plugin, 1L); + } + + private static void sound(Function function, Slot slot, Player player, Gui gui) { + if (function.customSound_Enable) { + if (!function.customSound_NoSound) { + try { + player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1); + } catch (Exception e1) { + send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix) + .replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.guiName) + "§r §6Slot: §e" + slot.slot + " §6CustomSound: §9" + function.customSound_Sound)); + player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1); + } + } + } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1); + } + + private static void togglePerm(Function function, Gui gui, Player player) { + if (player.hasPermission(function.togglePermissionPerm)) { + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm)); + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + OpenGUI.openGUI(player, gui.key, false); + } + }.runTaskLater(plugin, 4L); + } else + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm)); + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + OpenGUI.openGUI(player, gui.key, false); + } + }.runTaskLater(plugin, 4L); + } + + private static void toggleUseItem(Player player, Gui gui) { + if (Events.useItemHashMap.get(player)) { + Commands.itemOff(player); + } else { + Commands.itemOn(player); + } + new BukkitRunnable() { + @Override + public void run() { + player.closeInventory(); + OpenGUI.openGUI(player, gui.key, false); + } + }.runTaskLater(plugin, 2L); + } +} \ No newline at end of file diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java deleted file mode 100644 index 0a95d66..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java +++ /dev/null @@ -1,245 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.Listener; - -import de.jatitv.commandguiv2.Spigot.Objekte.Slot; -import de.jatitv.commandguiv2.Spigot.system.Bungee_Sender_Reciver; -import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; -import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; -import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; -import de.jatitv.commandguiv2.Spigot.Main; -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.replace.Replace; -import net.t2code.lib.Spigot.Lib.vault.Vault; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.configuration.file.YamlConfiguration; -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.plugin.Plugin; -import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.scheduler.BukkitRunnable; - -import java.io.File; -import java.io.IOException; - -public class GUI_Listener implements Listener { - - private static String prefix = Util.getPrefix(); - public static String GUICode; - private static Plugin plugin = Main.plugin; - - @EventHandler - public void onInventoryClick(InventoryClickEvent e) { - Player player = (Player) e.getWhoClicked(); - JavaPlugin plugin = Main.plugin; - if (e.getInventory() == null) return; - if (e.getCurrentItem() == null) return; - for (Object gui : Main.guiHashMap.values()) { - if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name)) - || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) { - e.setCancelled(true); - for (Slot slot : gui.GUI_Slots) { - if (e.getSlot() != slot.Slot) continue; - if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == Material.valueOf(slot.Item.toUpperCase().replace(".", "_"))) { - if (!slot.Perm - || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)) - || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1) + ".use") - || player.hasPermission("commandgui.admin")) { - if (!slot.Enable) continue; - if (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, slot.Name))) continue; - if (slot.Cost_Enable) { - if (slot.Command_Enable || slot.Message_Enable || slot.OpenGUI_Enable || slot.ServerChange) { - if (!Vault.buy(prefix, player, slot.Price)) { - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - player.sendMessage(SelectMessages.No_money); - if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable) - player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1); - } else { - player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, slot.Name)) - .replace("[price]", slot.Price + " " + SelectConfig.Currency)); - execute(slot, player, e, gui); - } - } - } else execute(slot, player, e, gui); - } else player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, slot.Name)) - .replace("[perm]", "commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))); - } - } - } - } - } - - private static void execute(Slot slot, Player player, InventoryClickEvent e, Object gui) { - if (slot.Command_Enable) command(slot, player); - if (slot.OpenGUI_Enable) openGUI(slot, player); - if (slot.Message_Enable) message(slot, player); - if (slot.ServerChange) serverChange(slot, player); - if (slot.SetConfigEnable) setConfig(slot, player, e); - if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(slot, player, gui); - } - - private static void command(Slot slot, Player player) { - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - new BukkitRunnable() { - @Override - public void run() { - if (slot.Command_BungeeCommand) { - if (SelectConfig.Bungee) { - for (String cmd : slot.Command) { - Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.CommandAsConsole); - } - } else { - send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config."); - send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - for (String cmd : slot.Command) { - if (slot.CommandAsConsole) { - Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName())); - } else player.chat("/" + cmd.replace("[player]", player.getName())); - } - } - } - }.runTaskLater(plugin, 2L); - } - - private static void openGUI(Slot slot, Player player) { - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - new BukkitRunnable() { - @Override - public void run() { - OpenGUI.openGUI(player, Main.guiHashMap.get(slot.OpenGUI), slot.OpenGUI); - } - }.runTaskLater(plugin, 2L); - } - - private static void message(Slot slot, Player player) { - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - for (String msg : slot.Message) { - if (Main.PaPi) { - if (slot.Cost_Enable) { - player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.Price + " " + SelectConfig.Currency)); - } else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix))); - } else { - if (slot.Cost_Enable) { - player.sendMessage(Replace.replacePrice(prefix, msg, slot.Price + " " + SelectConfig.Currency)); - } else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix))); - } - } - } - - private static void serverChange(Slot slot, Player player) { - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - send.player(player, SelectMessages.onServerChange.replace("[server]", slot.ServerChangeServer)); - new BukkitRunnable() { - @Override - public void run() { - ServerChange.send(player, slot.ServerChangeServer); - } - }.runTaskLater(Main.plugin, 20L); - } - - private static void setConfig(Slot slot, Player player, InventoryClickEvent e) { - File config = new File(slot.ConfigFilePath); - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); - /*if (slot.ConfigChatInput){ - ConfigChat.EditChat.put(player, slot.ConfigOptionPath); - player.sendMessage(DefaultValue.SettingsGUIchatSet.replace("[setting]", "Shop Name Chest small")); - player.sendMessage(DefaultValue.SettingsGUIchatCancel); - } else - { - */ - if (e.getClick() == ClickType.LEFT) { - if (slot.ConfigOptionPremat.equals("String")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueLeft); - } else if (slot.ConfigOptionPremat.equals("Boolean")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueLeft); - } else if (slot.ConfigOptionPremat.equals("Integer")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueLeft); - } else if (slot.ConfigOptionPremat.equals("Double")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueLeft); - } else if (slot.ConfigOptionPremat.equals("List")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueLeft); - } else { - player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo - } - } - if (e.getClick() == ClickType.RIGHT) { - if (slot.ConfigOptionPremat.equals("String")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueRight); - } else if (slot.ConfigOptionPremat.equals("Boolean")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueRight); - } else if (slot.ConfigOptionPremat.equals("Integer")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueRight); - } else if (slot.ConfigOptionPremat.equals("Double")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueRight); - } else if (slot.ConfigOptionPremat.equals("List")) { - yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueRight); - } else { - player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo - } - } - try { - yamlConfiguration.save(config); - } catch (IOException tac) { - tac.printStackTrace(); - } - if (slot.PluginReloadEnable) { - Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.PluginReloadCommand); - } - new BukkitRunnable() { - @Override - public void run() { - player.closeInventory(); - } - }.runTaskLater(plugin, 1L); - } - - private static void sound(Slot slot, Player player, Object gui) { - if (slot.CustomSound_Enable) { - if (!slot.CustomSound_NoSound) { - try { - player.playSound(player.getLocation(), Sound.valueOf(slot.CustomSound_Sound.toUpperCase().replace(".", "_")), 3, 1); - - } catch (Exception e1) { - send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix) - .replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.GUI_Name) + "§r §6Slot: §e" + slot.Slot + " §6CustomSound: §9" + slot.CustomSound_Sound)); - player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1); - } - } - } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1); - } -} - - diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java index 4e2f9b8..1b9e68f 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java @@ -1,14 +1,11 @@ package de.jatitv.commandguiv2.Spigot.Listener; +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.system.Give_UseItem; +import de.jatitv.commandguiv2.Spigot.system.UseItem; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; -import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; -import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; -import org.bukkit.Material; import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; public class ItemChange { @@ -17,46 +14,25 @@ public class ItemChange { if (SelectConfig.UseItem_InventorySlotEnforce) { slot = SelectConfig.UseItem_InventorySlot; } else { - if (Select_Database.selectSlot(player) == null) { + if (Events.useItemSlotHashMap.get(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { - slot = Select_Database.selectSlot(player); + slot = Events.useItemSlotHashMap.get(player); } } + if (!SelectConfig.UseItem_Enable) { return; } - if (SelectConfig.UseItemGameModeProtection) { - if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { - if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player); - send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString()); - return; - } - if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { - if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player); - send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString()); - return; - } - } - if (SelectConfig.UseItemWorldProtection) { - if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { - if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player); - send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString()); - return; - } - if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { - if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player); - send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString()); - return; - } - } + UseItem.removeItem(player); + if (UseItem.protection(player, false)) return; if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) { - if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { + if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (!player.hasPlayedBefore()) { new BukkitRunnable() { @Override public void run() { - Give_UseItem.onGive(player); + UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } @@ -77,11 +53,10 @@ public class ItemChange { new BukkitRunnable() { @Override public void run() { - removeItem(player); - if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { + if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) { send.debug(Main.plugin,"Give: " +player.getName()); - Give_UseItem.onGive(player); + UseItem.giveUseItem(player); if (setCursor) { setCursor(player, slot); } @@ -94,12 +69,13 @@ public class ItemChange { } } if (empty) { - Give_UseItem.onGiveADD(player); + UseItem.addUseItem(player); } } } } }.runTaskLater(Main.plugin, 1L * 1); + } private static void setCursor(Player player, int slot) { @@ -137,19 +113,4 @@ public class ItemChange { Main.bungeejoinplayers.remove(player.getName()); } } - - private static void removeItem(Player player) { - for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { - ItemStack itm = player.getInventory().getItem(iam); - if (itm != null) { - if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { - if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { - player.getInventory().remove(itm); - player.updateInventory(); - break; - } - } - } - } - } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java index f3e7a78..9e3dae0 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java @@ -4,7 +4,7 @@ package de.jatitv.commandguiv2.Spigot.Listener; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; -import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import org.bukkit.Bukkit; @@ -22,10 +22,11 @@ public class PluginEvent implements Listener { @EventHandler public void onJoinEvent(PlayerLoginEvent event) { Player player = event.getPlayer(); - Select_Database.nameCheck(player); - UpdateAPI.join(Main.plugin, prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); + SelectDatabase.nameCheck(player); + UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); } + @EventHandler public void onClearServer(ServerCommandEvent event) { if (SelectConfig.UseItem_KeepAtCommandClear) { @@ -35,11 +36,11 @@ public class PluginEvent implements Listener { public void run() { try { Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", "")); - if (player == null) { + if (player == null){ return; } clearGive(player); - } catch (Exception ex) { + } catch (Exception ex){ ex.printStackTrace(); return; } @@ -49,6 +50,7 @@ public class PluginEvent implements Listener { } } + @EventHandler public void onClearPlayer(PlayerCommandPreprocessEvent event) { if (SelectConfig.UseItem_KeepAtCommandClear) { diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java index ac00ae0..49492b1 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java @@ -6,11 +6,13 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; +import de.jatitv.commandguiv2.Spigot.system.UseItem; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; import de.jatitv.commandguiv2.api.CGuiAPI; -import net.t2code.lib.Bungee.Lib.messages.Bsend; import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -27,42 +29,46 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; public class Events implements Listener { + public static HashMap useItemHashMap = new HashMap<>(); + public static HashMap useItemSlotHashMap = new HashMap<>(); + @EventHandler public void onJoin(PlayerJoinEvent e) { + if (SelectDatabase.selectItemStatus(e.getPlayer())) { + useItemHashMap.put(e.getPlayer(), true); + } else useItemHashMap.put(e.getPlayer(), false); + + useItemSlotHashMap.put(e.getPlayer(), SelectDatabase.selectSlot(e.getPlayer())); + if (CGuiAPI.JoinDisable) { - send.debug(Main.plugin,"JoinDisable"); + send.debug(Main.plugin, "JoinDisable"); return; } if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) { new BukkitRunnable() { @Override public void run() { - send.debug(Main.plugin,"itemChange: " + e.getPlayer().getName()); + send.debug(Main.plugin, "itemChange: " + e.getPlayer().getName()); ItemChange.itemChange(e.getPlayer(), true); } }.runTaskLater(Main.plugin, 20L * 1); } } + @EventHandler + public void onJoin(PlayerQuitEvent e) { + useItemHashMap.remove(e.getPlayer()); + } + @EventHandler(priority = EventPriority.HIGHEST) public void onDeathDrop(PlayerDeathEvent e) { Player player = e.getEntity().getPlayer(); - for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { - ItemStack itm = player.getInventory().getItem(iam); - if (itm != null) { - if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { - if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { - player.getInventory().remove(itm); - player.updateInventory(); - break; - } - } - } - } + UseItem.removeItem(player); if (!e.getDrops().isEmpty()) { Iterator var3 = (new ArrayList(e.getDrops())).iterator(); while (var3.hasNext()) { @@ -80,6 +86,25 @@ public class Events implements Listener { Player player = e.getPlayer(); if (SelectConfig.UseItem_Enable) { ItemChange.itemChange(player, false); + //if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { + // if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) { + // if (!player.hasPlayedBefore()) { + // new BukkitRunnable() { + // @Override + // public void run() { + // Give_UseItem.onGive(player); + // } + // }.runTaskLater(Main.plugin, 20L * 1); + // } + // } else { + // new BukkitRunnable() { + // @Override + // public void run() { + // Give_UseItem.onGive(player); + // } + // }.runTaskLater(Main.plugin, 20L * 1); + // } + //} } } @@ -111,6 +136,7 @@ public class Events implements Listener { }.runTaskLater(Main.plugin, SelectConfig.UseItemWorldChangeDelayInTicks * 1L); } + @EventHandler(priority = EventPriority.HIGHEST) public void onInteract(PlayerInteractEvent e) { Player p = e.getPlayer(); @@ -131,47 +157,50 @@ public class Events implements Listener { } } - private static void openGUI(PlayerInteractEvent e, Player p) { + private static void openGUI(PlayerInteractEvent e, Player player) { e.setCancelled(true); - if (p.isSneaking()) { - Commands.info(p); + if (SelectConfig.disableInfoBySneak && player.isSneaking()) { + Commands.info(player); return; } + if (!legacy()) { - if (!topInventoryIsEmpty(p)) return; + if (!topInventoryIsEmpty(player)) return; } + + if (UseItem.protection(player, true)) return; + if (SelectConfig.UseItemGameModeProtection) { - if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) { + if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { e.setCancelled(true); - send.player(p, SelectMessages.UseItemDisabledInGameMode); + send.player(player, SelectMessages.UseItemDisabledInGameMode); return; } - if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) { + if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { e.setCancelled(true); - send.player(p, SelectMessages.UseItemDisabledInGameMode); + send.player(player, SelectMessages.UseItemDisabledInGameMode); return; } } + if (SelectConfig.UseItemWorldProtection) { - if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) { + if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { e.setCancelled(true); - send.player(p, SelectMessages.UseItemDisabledInWorld); + send.player(player, SelectMessages.UseItemDisabledInWorld); return; } - if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) { + if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { e.setCancelled(true); - send.player(p, SelectMessages.UseItemDisabledInWorld); + send.player(player, SelectMessages.UseItemDisabledInWorld); return; } } - if (!SelectConfig.UseItem_Permission || p.hasPermission("commandgui.useitem")) { - OpenGUI.openGUI(p, Main.guiHashMap.get(SelectConfig.UseItem_OpenGUI), SelectConfig.UseItem_OpenGUI); - if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { - p.playSound(p.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1); - } + + if (!SelectConfig.UseItem_Permission || player.hasPermission("commandgui.useitem")) { + OpenGUI.openGUI(player, SelectConfig.UseItem_OpenGUI, true); } else { - p.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem") + player.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem") .replace("[gui]", SelectConfig.UseItem_OpenGUI)); } } @@ -186,9 +215,11 @@ public class Events implements Listener { } } + @EventHandler(priority = EventPriority.HIGHEST) public void onItemMove(InventoryDragEvent e) { if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; + if (e.getWhoClicked() instanceof Player) { Player p = (Player) e.getWhoClicked(); if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName() @@ -210,7 +241,6 @@ public class Events implements Listener { @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onItemMove(InventoryClickEvent e) { if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; - Player player = (Player) e.getWhoClicked(); if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName() && e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { @@ -220,13 +250,13 @@ public class Events implements Listener { && e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { e.setCancelled(true); - } } @EventHandler(priority = EventPriority.HIGHEST) public void onItemMove(InventoryPickupItemEvent e) { if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; + if (e.getItem() != null && e.getItem().getItemStack() != null) { ItemStack item = e.getItem().getItemStack(); if (item.hasItemMeta() && item.getItemMeta().hasDisplayName() @@ -239,6 +269,7 @@ public class Events implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void onPlace(BlockPlaceEvent e) { if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; + if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName() && e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { e.setCancelled(true); @@ -248,6 +279,7 @@ public class Events implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void onDrop(PlayerDropItemEvent e) { if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; + if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) { ItemStack item = e.getItemDrop().getItemStack(); if (item.hasItemMeta() && item.getItemMeta().hasDisplayName() @@ -258,7 +290,7 @@ public class Events implements Listener { } private static boolean legacy() { - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15) { + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15 || NMSVersion.v1_16_R1) { return true; } else return false; } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java similarity index 97% rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java index 313609d..f853b76 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java @@ -8,7 +8,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.*; -public class Events_from1_10 implements Listener { +public class EventsFrom110 implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void onHandSwap(PlayerSwapHandItemsEvent e) { diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java index 741f0a7..6976b71 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java @@ -1,9 +1,9 @@ package de.jatitv.commandguiv2.Spigot; //s guiHashMap = new HashMap<>(); + public static HashMap guiHashMap = new HashMap<>(); public static ArrayList allAliases = new ArrayList<>(); + public static HashMap functionHashMap = new HashMap<>(); + @Override public void onEnable() { plugins = Arrays.asList(getServer().getPluginManager().getPlugins()); @@ -69,8 +71,7 @@ public final class Main extends JavaPlugin { if (PluginCheck.plotSquaredGUI()) { PlotSquaredGUI = true; addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI")); - } - if (PluginCheck.luckyBox()) { + }if (PluginCheck.luckyBox()) { LuckyBox = true; addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox")); } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java deleted file mode 100644 index 74cb8d9..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java +++ /dev/null @@ -1,111 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.Objekte; - -import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI; -import net.t2code.lib.Spigot.Lib.messages.send; -import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; -import org.bukkit.configuration.file.YamlConfiguration; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; - -public class Obj_Select { - public static void onSelect() { - Main.guiHashMap.clear(); - Main.allAliases.clear(); - File f = new File(Main.getPath() + "/GUIs/"); - File[] fileArray = f.listFiles(); - - for (File config_gui : fileArray) { - String sub = config_gui.getName().substring(config_gui.getName().length() - 4); - if (sub.equals(".yml")) { - Main.allAliases.add(config_gui.getName().replace(".yml", "")); - YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui); - - Boolean GUI_Enable = yamlConfiguration_gui.getBoolean("GUI.Enable"); - Integer GUI_Lines = yamlConfiguration_gui.getInt("GUI.Lines"); - if (yamlConfiguration_gui.getInt("GUI.Lines") > 6) { - yamlConfiguration_gui.set("GUI.Lines", 6); - } - if (yamlConfiguration_gui.getInt("GUI.Lines") < 1) { - yamlConfiguration_gui.set("GUI.Lines", 1); - } - String GUI_Name = yamlConfiguration_gui.getString("GUI.Name"); - Boolean GUI_FillItem_Enable = yamlConfiguration_gui.getBoolean("GUI.FillItem.Enable"); - String GUI_FillItem_Item; - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { - GUI_FillItem_Item = yamlConfiguration_gui.getString("GUI.FillItem.GlassPaneCollor"); - } else GUI_FillItem_Item = yamlConfiguration_gui.getString("GUI.FillItem.Item"); - - Boolean Command_Alias_Enable = yamlConfiguration_gui.getBoolean("Command.Alias"); - Boolean Command_Permission = yamlConfiguration_gui.getBoolean("Command.Permission.Required"); - - ArrayList slots = new ArrayList<>(); - for (String key : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) { - Slot slot = new Slot(yamlConfiguration_gui.getInt("Slots." + key + ".Slot") - 1, - yamlConfiguration_gui.getBoolean("Slots." + key + ".Enable"), - // yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.Removable"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.Empty"), - yamlConfiguration_gui.getInt("Slots." + key + ".Item.Amount"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.Enable"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.Base64.Enable"), - yamlConfiguration_gui.getString("Slots." + key + ".Item.PlayerHead.Base64.Base64Value"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.PlayerWhoHasOpenedTheGUI"), - yamlConfiguration_gui.getString("Slots." + key + ".Item.PlayerHead.PlayerName"), - yamlConfiguration_gui.getString("Slots." + key + ".Item.Material"), - yamlConfiguration_gui.getString("Slots." + key + ".Item.Name"), - yamlConfiguration_gui.getList("Slots." + key + ".Item.Lore"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".CustomSound.Enable"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".CustomSound.NoSound"), - yamlConfiguration_gui.getString("Slots." + key + ".CustomSound.Sound"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Cost.Enable"), - yamlConfiguration_gui.getDouble("Slots." + key + ".Cost.Price"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.Enable"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.BungeeCommand"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.CommandAsConsole"), - yamlConfiguration_gui.getStringList("Slots." + key + ".Command.Command"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".ServerChange.Enable"), - yamlConfiguration_gui.getString("Slots." + key + ".ServerChange.Server"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".OpenGUI.Enable"), - yamlConfiguration_gui.getString("Slots." + key + ".OpenGUI.GUI"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Message.Enable"), - yamlConfiguration_gui.getStringList("Slots." + key + ".Message.Message"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".Permission.Required"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Enable"), - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.File.Path"), - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Option.Path"), - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Option.Premat"), - // yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.ChatInput"), - - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Value.LeftClick.String"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.LeftClick.Boolean"), - yamlConfiguration_gui.getInt("Slots." + key + ".SetConfig.Value.LeftClick.Integer"), - yamlConfiguration_gui.getDouble("Slots." + key + ".SetConfig.Value.LeftClick.Double"), - yamlConfiguration_gui.getStringList("Slots." + key + ".SetConfig.Value.LeftClick.List"), - - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Value.RightClick.String"), - yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.RightClick.Boolean"), - yamlConfiguration_gui.getInt("Slots." + key + ".SetConfig.Value.RightClick.Integer"), - yamlConfiguration_gui.getDouble("Slots." + key + ".SetConfig.Value.RightClick.Double"), - yamlConfiguration_gui.getStringList("Slots." + key + ".SetConfig.RightClick.Value.List"), - - yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable"), - yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.PluginReload.Command")); - slots.add(slot); - } - Object objekt = new Object(GUI_Enable, GUI_Lines, GUI_Name, GUI_FillItem_Enable, GUI_FillItem_Item, - config_gui.getName().replace(".yml", ""), Command_Alias_Enable, Command_Permission, slots); - - Main.guiHashMap.put(config_gui.getName().replace(".yml", ""), objekt); - CmdExecuter_GUI.arg1.put(config_gui.getName().replace(".yml", ""), "commandgui.gui." + config_gui.getName().replace(".yml", "")); - - try { - yamlConfiguration_gui.save(config_gui); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java deleted file mode 100644 index b7d493d..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.Objekte; - -import java.util.ArrayList; - -public class Object { - public Boolean GUI_Enable; - public Integer GUI_Lines; - public String GUI_Name; - public Boolean GUI_FillItem_Enable; - public String GUI_FillItem_Item; - - - public String Command_Command; - public Boolean Command_Alias_Enable; - public Boolean Command_Permission_Enable; - public ArrayList GUI_Slots; - - public Object(Boolean GUI_Enable, Integer GUI_Lines, String GUI_Name, Boolean GUI_FillItem_Enable, String GUI_FillItem_Item, - String Command_Command, Boolean Command_Alias_Enable, Boolean Command_Permission_Enable, ArrayList GUI_Slots){ - this.GUI_Enable = GUI_Enable; - this.GUI_Lines = GUI_Lines; - this.GUI_Name = GUI_Name; - this.GUI_FillItem_Enable = GUI_FillItem_Enable; - this.GUI_FillItem_Item = GUI_FillItem_Item; - this.Command_Command = Command_Command; - this.Command_Alias_Enable = Command_Alias_Enable; - this.Command_Permission_Enable = Command_Permission_Enable; - this.GUI_Slots = GUI_Slots; - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java deleted file mode 100644 index ca3015c..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java +++ /dev/null @@ -1,158 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.Objekte; - -import java.util.List; - -public class Slot { - - public Integer Slot; - public Boolean Enable; - // public Boolean ItemsRemovable; - public Boolean Empty; - public Integer ItemAmount; - public Boolean PlayerHead_Enable; - public Boolean Base64_Enable; - public String Base64Value; - public Boolean PlayerWhoHasOpenedTheGUI; - public String PlayerName; - public String Item; - public String Name; - public List Lore; - public Boolean CustomSound_Enable; - public Boolean CustomSound_NoSound; - public String CustomSound_Sound; - public Boolean Cost_Enable; - public Double Price; - public Boolean Command_Enable; - public Boolean Command_BungeeCommand; - public Boolean CommandAsConsole; - public Boolean ServerChange; - public String ServerChangeServer; - public List Command; - public Boolean OpenGUI_Enable; - public String OpenGUI; - public Boolean Message_Enable; - public List Message; - public Boolean Perm; - public Boolean SetConfigEnable; - public String ConfigFilePath; - public String ConfigOptionPath; - public String ConfigOptionPremat; - // public Boolean ConfigChatInput; - - public String ConfigStringValueLeft; - public Boolean ConfigBooleanValueLeft; - public Integer ConfigIntegerValueLeft; - public Double ConfigDoubleValueLeft; - public List ConfigListValueLeft; - - public String ConfigStringValueRight; - public Boolean ConfigBooleanValueRight; - public Integer ConfigIntegerValueRight; - public Double ConfigDoubleValueRight; - public List ConfigListValueRight; - - - public Boolean PluginReloadEnable; - public String PluginReloadCommand; - - public Slot(Integer Slot, - Boolean Enable, - // Boolean ItemsRemovable, - Boolean Empty, - Integer ItemAmount, - Boolean PlayerHead_Enable, - Boolean Base64Value_Enable, - String Base64Value, - Boolean PlayerWhoHasOpenedTheGUI, - String PlayerName, - String Item, - String Name, - List Lore, - Boolean CustomSound_Enable, - Boolean CustomSound_NoSound, - String CustomSound_Sound, - Boolean Cost_Enable, - Double Price, - Boolean Command_Enable, - Boolean Command_BungeeCommand, - Boolean CommandAsConsole, - List Command, - Boolean ServerChange, - String ServerChangeServer, - Boolean OpenGUI_Enable, - String OpenGUI, - Boolean Message_Enable, - List Message, - Boolean Perm, - Boolean SetConfigEnable, - String ConfigFilePath, - String ConfigOptionPath, - String ConfigOptionPremat, - // Boolean ConfigChatInput, - - String ConfigStringValueLeft, - Boolean ConfigBooleanValueLeft, - Integer ConfigIntegerValueLeft, - Double ConfigDoubleValueLeft, - List ConfigListValueLeft, - - String ConfigStringValueRight, - Boolean ConfigBooleanValueRight, - Integer ConfigIntegerValueRight, - Double ConfigDoubleValueRight, - List ConfigListValueRight, - - Boolean PluginReloadEnable, - String PluginReloadCommand) { - this.Slot = Slot; - this.Enable = Enable; - // this.ItemsRemovable = ItemsRemovable; - this.Empty = Empty; - this.ItemAmount = ItemAmount; - this.PlayerHead_Enable = PlayerHead_Enable; - this.Base64_Enable = Base64Value_Enable; - this.Base64Value = Base64Value; - this.PlayerWhoHasOpenedTheGUI = PlayerWhoHasOpenedTheGUI; - this.PlayerName = PlayerName; - this.Item = Item; - this.Name = Name; - this.Lore = Lore; - this.CustomSound_Enable = CustomSound_Enable; - this.CustomSound_NoSound = CustomSound_NoSound; - this.CustomSound_Sound = CustomSound_Sound; - this.Cost_Enable = Cost_Enable; - this.Price = Price; - this.Command_Enable = Command_Enable; - this.Command_BungeeCommand = Command_BungeeCommand; - this.CommandAsConsole = CommandAsConsole; - this.Command = Command; - this.ServerChange = ServerChange; - this.ServerChangeServer = ServerChangeServer; - this.OpenGUI_Enable = OpenGUI_Enable; - this.OpenGUI = OpenGUI; - this.Message_Enable = Message_Enable; - this.Message = Message; - this.Perm = Perm; - this.SetConfigEnable = SetConfigEnable; - this.ConfigFilePath = ConfigFilePath; - this.ConfigOptionPath = ConfigOptionPath; - this.ConfigOptionPremat = ConfigOptionPremat; - // this.ConfigChatInput = ConfigChatInput; - - this.ConfigStringValueLeft = ConfigStringValueLeft; - this.ConfigBooleanValueLeft = ConfigBooleanValueLeft; - this.ConfigIntegerValueLeft = ConfigIntegerValueLeft; - this.ConfigDoubleValueLeft = ConfigDoubleValueLeft; - this.ConfigListValueLeft = ConfigListValueLeft; - - this.ConfigStringValueRight = ConfigStringValueRight; - this.ConfigBooleanValueRight = ConfigBooleanValueRight; - this.ConfigIntegerValueRight = ConfigIntegerValueRight; - this.ConfigDoubleValueRight = ConfigDoubleValueRight; - this.ConfigListValueRight = ConfigListValueRight; - - - this.PluginReloadEnable = PluginReloadEnable; - this.PluginReloadCommand = PluginReloadCommand; - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java deleted file mode 100644 index da237c2..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java +++ /dev/null @@ -1,151 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.cmdManagement; - -import de.jatitv.commandguiv2.Spigot.system.Debug; -import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate; -import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; -import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Util; -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; -import org.bukkit.entity.Player; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class CmdExecuter_Admin implements CommandExecutor, TabCompleter { - private static String prefix = Util.getPrefix(); - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - - if (args.length == 0) { - Help.sendHelp(sender, prefix); - } else { - switch (args[0].toLowerCase()) { - case "info": - if (sender.hasPermission("commandgui.command.info")) { - Commands.info(sender); - } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info")); - - break; - case "reload": - case "rl": - if (sender.hasPermission("commandgui.admin")) { - Commands.reload(sender); - } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); - break; - case "createdefaultgui": - if (sender.hasPermission("commandgui.admin")) { - DefaultGUICreate.configCreate(); - sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "/GUIs/default.yml")); - } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); - break; - case "debug": - if (sender.hasPermission("commandgui.admin")) { - Debug.onDebugFile(sender); - /*if (args.length == 2) { - if (args[1].equals("config")) { - Debug.debugmsg(); - } - if (args[1].equals("2")) { - send.debug("2"); - } - break; - - } else Debug.debugmsg(); - - */ - } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); - break; - - case "give": - if (args.length == 2) { - if (sender.hasPermission("commandgui.giveitem.other")) { - Player target = Bukkit.getPlayer(args[1]); - Commands.give(sender, target); - } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui give") - .replace("[perm]", "commandgui.command.give")); - } else Help.sendHelp(sender, prefix); - break; - case "help": - default: - Help.sendHelp(sender, prefix); - break; - - } - } - - return false; - } - - - //TabCompleter - private static HashMap arg1 = new HashMap() {{ - put("reload", "commandgui.admin"); - put("rl", "commandgui.admin"); - put("createdefaultgui", "commandgui.admin"); - put("give", "commandgui.giveitem.other"); - put("info", "commandgui.command.info"); - }}; - - @Override - public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) { - List list = new ArrayList<>(); - if (sender instanceof Player) { - Player p = (Player) sender; - if (args.length == 1) { - for (String command : arg1.keySet()) { - Boolean passend = true; - for (int i = 0; i < args[0].length(); i++) { - if (args[0].length() >= command.length()) { - passend = false; - } else { - if (args[0].charAt(i) != command.charAt(i)) { - passend = false; - } - } - } - if (hasPermission(p, arg1.get(command)) && passend) { - list.add(command); - } - } - } - - if (args.length == 2 && args[0].equalsIgnoreCase("give")) { - if (sender.hasPermission("commandgui.giveitem.other")) { - Iterator var6 = Bukkit.getOnlinePlayers().iterator(); - - while (var6.hasNext()) { - Player player1 = (Player) var6.next(); - list.add(player1.getName()); - } - } - return list; - } - } - return list; - } - - - public static boolean hasPermission(Player player, String permission) { - if (player.isOp()) { - return true; - } - String[] Permissions = permission.split(";"); - for (String perm : Permissions) { - if (player.hasPermission(perm)) { - return true; - } - } - return false; - } -} - diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java index f94abd8..c35683b 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java @@ -55,7 +55,8 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter { } else sender.sendMessage(SelectMessages.OnlyForPlayer); } } - } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui-item").replace("[perm]", "commandgui.useitem.toggle")); + } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui-item") + .replace("[perm]", "commandgui.useitem.toggle")); return false; } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java similarity index 97% rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java index 71115ee..b8b7ce7 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java @@ -2,7 +2,7 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.system.Debug; -import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate; +import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.commands.Tab; @@ -17,7 +17,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -public class CmdExecuter_GUI implements CommandExecutor, TabCompleter { +public class CmdExecuter_GUITab implements CommandExecutor, TabCompleter { private static String prefix = Util.getPrefix(); @Override @@ -56,7 +56,7 @@ public class CmdExecuter_GUI implements CommandExecutor, TabCompleter { break; case "createdefaultgui": if (sender.hasPermission("commandgui.admin")) { - DefaultGUICreate.configCreate(); + CreateGUI.configCreate(); sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "/GUIs/default.yml")); } else sender.sendMessage(SelectMessages.NoPermissionForCommand .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java index 2361156..2f9525c 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java @@ -1,16 +1,18 @@ 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.Objekte.Obj_Select; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; +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.Give_UseItem; +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.database.Select_Database; +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; @@ -21,6 +23,8 @@ 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) { @@ -59,22 +63,33 @@ public class Commands { send.console(Util.getPrefix() + " §6Plugin reload..."); send.console(Util.getPrefix() + "§8-------------------------------"); - CmdExecuter_GUI.arg1.clear(); - CmdExecuter_GUI.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); + CmdExecuter_GUITab.arg1.clear(); + CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); ConfigCreate.configCreate(); SelectConfig.onSelect(); - Main.plugin.reloadConfig(); + 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"); @@ -88,7 +103,7 @@ public class Commands { public static void give(CommandSender sender, Player target) { if (Bukkit.getPlayer(target.getName()) != null) { - Give_UseItem.onGive(target); + 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) { @@ -104,32 +119,21 @@ public class Commands { } public static void itemOn(Player player) { - for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { - ItemStack itm = player.getInventory().getItem(iam); - if (itm != null) { - if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { - if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { - player.getInventory().remove(itm); - player.updateInventory(); - break; - } - } - } - } + UseItem.removeItem(player); Integer slot = null; if (SelectConfig.UseItem_InventorySlotEnforce) { slot = SelectConfig.UseItem_InventorySlot; } else { - if (Select_Database.selectSlot(player) == null) { + if (Events.useItemSlotHashMap.get(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { - slot = Select_Database.selectSlot(player); + slot = Events.useItemSlotHashMap.get(player); } } send.debug(Main.plugin, String.valueOf(slot)); if (player.getInventory().getItem(slot - 1) == null) { - Select_Database.setItemStatusTrue(player); - Give_UseItem.onGive(player); + SelectDatabase.setItemStatusTrue(player); + UseItem.giveUseItem(player); } else { boolean empty = false; for (int i = 0; i < 9; i++) { @@ -139,8 +143,8 @@ public class Commands { } } if (empty) { - Select_Database.setItemStatusTrue(player); - Give_UseItem.onGiveADD(player); + SelectDatabase.setItemStatusTrue(player); + UseItem.addUseItem(player); send.player(player, SelectMessages.ItemON); } else { player.sendMessage(SelectMessages.NoInventorySpace); @@ -152,19 +156,8 @@ public class Commands { } public static void itemOff(Player player) { - Select_Database.setItemStatusFalse(player); - for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { - ItemStack itm = player.getInventory().getItem(iam); - if (itm != null) { - if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { - if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { - player.getInventory().remove(itm); - player.updateInventory(); - send.player(player, SelectMessages.ItemOFF); - } - } - } - } + SelectDatabase.setItemStatusFalse(player); + UseItem.removeItem(player); } public static void onSetSlot(Player player, Integer setSlot) { @@ -177,7 +170,7 @@ public class Commands { send.player(player, SelectMessages.ItemSlot_wrongValue); return; } - ItemStack itm1 = player.getInventory().getItem(setSlot - 1); + 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)) { @@ -190,21 +183,11 @@ public class Commands { send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString())); return; } - for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { - ItemStack itm = player.getInventory().getItem(iam); - if (itm != null) { - if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { - if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { - player.getInventory().remove(itm); - player.updateInventory(); - break; - } - } - } - } - Select_Database.setSlot(player, setSlot); - if (Select_Database.selectItemStatus(player)) { - Give_UseItem.onGive(player); + 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"); @@ -212,31 +195,25 @@ public class Commands { public static void gui(Player player) { if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) { - Object gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); - if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { - if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) { - OpenGUI.openGUI(player, gui, SelectConfig.DefaultGUI); - if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { - player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1); - } + 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.GUI_Name)); + } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName)); } } public static void gui(Player player, String arg) { if (Main.guiHashMap.containsKey(arg)) { - Object gui = Main.guiHashMap.get(arg); - if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { - if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + gui.Command_Command) || player.hasPermission("commandgui.bypass")) { - OpenGUI.openGUI(player, gui, arg); - if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { - player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1); - } - } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.Command_Command) + 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.Command_Command)); + } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.key)); } else player.sendMessage(SelectMessages.GUInotFound); } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java index 2748c9c..e461801 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java @@ -2,7 +2,7 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.send; @@ -14,11 +14,11 @@ public class Help { public static void sendHelp(CommandSender sender, String Prefix) { send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----"); if (sender.hasPermission("commandgui.command")) { - Object gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); - send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.GUI_Name))); + Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); + send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.guiName))); for (String alias : Main.allAliases) { - if (Main.guiHashMap.get(alias).GUI_Enable || sender.hasPermission("commandgui.bypass")) { - send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).GUI_Name))); + if (Main.guiHashMap.get(alias).guiEnable || sender.hasPermission("commandgui.bypass")) { + send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).guiName))); } } send.sender(sender, Prefix + " " + SelectMessages.HelpHelp); @@ -31,9 +31,6 @@ public class Help { if (sender.hasPermission("commandgui.command.info")) { send.sender(sender, Prefix + " " + SelectMessages.HelpInfo); } - // if (sender.hasPermission("commandgui.command.give")) { - // send.sender(sender, Prefix + " " + Select_msg.HelpGive); - // } if (sender.hasPermission("commandgui.admin")) { send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml")); send.sender(sender, Prefix + " " + SelectMessages.HelpReload); diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java index 87e775d..3c90792 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java @@ -1,15 +1,14 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement.register; import de.jatitv.commandguiv2.Spigot.Main; - import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.send; -import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion; import org.bukkit.Bukkit; +import org.bukkit.command.CommandMap; import org.bukkit.plugin.Plugin; -import org.eclipse.sisu.space.ClassFinder; import java.io.File; +import java.lang.reflect.Field; public class AliasRegister { @@ -24,98 +23,18 @@ public class AliasRegister { } for (String alias : Main.allAliases) { if (Main.guiHashMap.get(alias) != null) { - if (Main.guiHashMap.get(alias).Command_Alias_Enable) { - String version; - if (NMSVersion.v1_8_R1) { - send.debug(plugin, "Alias register 1.8_R1"); - org.bukkit.craftbukkit.v1_8_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_8_R2) { - send.debug(plugin, "Alias register 1.8_R2"); - org.bukkit.craftbukkit.v1_8_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R2.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_8_R3) { - send.debug(plugin, "Alias register 1.8_R3"); - org.bukkit.craftbukkit.v1_8_R3.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R3.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_9_R1) { - send.debug(plugin, "Alias register 1.9_R1"); - org.bukkit.craftbukkit.v1_9_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_9_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_9_R2) { - send.debug(plugin, "Alias register 1.9_R2"); - org.bukkit.craftbukkit.v1_9_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_9_R2.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_10_R1) { - send.debug(plugin, "Alias register 1.10_R1"); - org.bukkit.craftbukkit.v1_10_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_10_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_11_R1) { - send.debug(plugin, "Alias register 1.11_R1"); - org.bukkit.craftbukkit.v1_11_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_11_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_12_R1) { - send.debug(plugin, "Alias register 1.12_R1"); - org.bukkit.craftbukkit.v1_12_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_12_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_13_R1) { - send.debug(plugin, "Alias register 1.13_R1"); - org.bukkit.craftbukkit.v1_13_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_13_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_13_R2) { - send.debug(plugin, "Alias register 1.13_R2"); - org.bukkit.craftbukkit.v1_13_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_13_R2.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_14_R1) { - send.debug(plugin, "Alias register 1.14_R1"); - org.bukkit.craftbukkit.v1_14_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_14_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_15_R1) { - send.debug(plugin, "Alias register 1.15_R1"); - org.bukkit.craftbukkit.v1_15_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_15_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_16_R1) { - send.debug(plugin, "Alias register 1.16_R1"); - org.bukkit.craftbukkit.v1_16_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_16_R2) { - send.debug(plugin, "Alias register 1.16_R2"); - org.bukkit.craftbukkit.v1_16_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R2.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_16_R3) { - send.debug(plugin, "Alias register 1.16_R3"); - org.bukkit.craftbukkit.v1_16_R3.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R3.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_17_R1) { - send.debug(plugin, "Alias register 1.17_R1"); - org.bukkit.craftbukkit.v1_17_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_17_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_18_R1) { - send.debug(plugin, "Alias register 1.18_R1"); - org.bukkit.craftbukkit.v1_18_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R1.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); - } - if (NMSVersion.v1_18_R2) { - send.debug(plugin, "Alias register 1.18_R2"); - org.bukkit.craftbukkit.v1_18_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R2.CraftServer) plugin.getServer(); - craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); + if (Main.guiHashMap.get(alias).commandAliasEnable) { + try { + final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap"); + + bukkitCommandMap.setAccessible(true); + CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer()); + + commandMap.register(alias, new RegisterCommand(alias)); + } catch(Exception e) { + e.printStackTrace(); } + //Register.register(alias, plugin); } } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java index 55fedd5..28d6bb5 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java @@ -2,9 +2,8 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement.register; import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; -import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -23,16 +22,13 @@ public class RegisterCommand extends Command { if (sender instanceof Player) { Player player = (Player) sender; - Object gui = Main.guiHashMap.get(alias); - if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { - if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) { - OpenGUI.openGUI(player, gui, alias); - if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { - player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1); - } + Gui gui = Main.guiHashMap.get(alias); + if (gui.guiEnable || player.hasPermission("commandgui.bypass")) { + if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) { + OpenGUI.openGUI(player, alias, true); } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + alias) .replace("[perm]", "commandgui.command." + alias)); - } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.GUI_Name)); + } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName)); } else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!"); return true; } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java deleted file mode 100644 index 5ae684f..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java +++ /dev/null @@ -1,191 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.config; - -import de.jatitv.commandguiv2.Spigot.Main; -import net.t2code.lib.Spigot.Lib.messages.send; -import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; -import org.bukkit.configuration.file.YamlConfiguration; - -import java.io.File; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - - -public class DefaultGUICreate { - - private static Boolean GUI_Enable = true; - private static Integer GUI_Lines = 1; - private static String GUI_Name = "&5default &9GUI"; - private static Boolean GUI_FillItem_Enable = true; - private static Integer GUI_FillItem_Item_1_8 = 15; - private static String GUI_FillItem_Item = "BLACK_STAINED_GLASS_PANE"; - - private static Boolean Command_Alias = true; - private static Boolean Command_Permission = true; - - private static Integer slot = 5; - private static Boolean enable = true; - private static Boolean ItemEmty = false; - private static Integer ItemAmout = 1; - private static Boolean Playerhead_enable = true; - private static Boolean base64_Enable = true; - private static String base64value = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19"; - private static Boolean PlayerWhoHasOpenedTheGUI = false; - private static String PlayerName = ""; - private static String Item = ""; - private static String Itemname = "&3Support Discord"; - private static List ItemLore = Arrays.asList( - "&8-----------------", - "&bIf you need help setting up the plugin,", - "&bfeel free to contact me on the Suport Discord.", - "&8-----------------", - "&eIf you find any errors or bugs,", - "&eplease contact me so I can fix them.", - "&8-----------------", - "&5Discord: §7http://dc.t2code.net"); - private static Boolean CustomSound = false; - private static Boolean CustomSound_NoSound = false; - private static String CustomSound_Sound = ""; - private static Boolean Cost = false; - private static Double Cost_Price = 0.0; - private static Boolean Command = false; - private static Boolean BungeeCommand = false; - private static Boolean CommandAsConsole = false; - private static List Commands = Arrays.asList(); - private static Boolean Server_Change = false; - private static String Server_Change_Server = ""; - private static Boolean OpenGUI = false; - private static String OpenGUI_GUI = ""; - private static Boolean Message = true; - private static List Messages = Arrays.asList("&6You can find more information on Discord: &ehttp://dc.t2code.net"); - private static Boolean Permission = false; - - private static Boolean SetConfig_Enable = false; - private static String SetConfig_FilePath = ""; - private static String SetConfig_OptionPath = ""; - private static String SetConfig_OptionPremat = "String"; - - private static String SetConfig_ValueLeftString = ""; - private static Boolean SetConfig_ValueLeftBoolean = false; - private static Integer SetConfig_ValueLeftInteger = 0; - private static Double SetConfig_ValueLeftDouble = 0.0; - private static List SetConfig_ValueLeftList = Arrays.asList(); - - private static String SetConfig_ValueRightString = ""; - private static Boolean SetConfig_ValueRightBoolean = false; - private static Integer SetConfig_ValueRightInteger = 0; - private static Double SetConfig_ValueRightDouble = 0.0; - private static List SetConfig_ValueRightList = Arrays.asList(); - - private static Boolean SetConfig_PluginReloadEnable = false; - private static String SetConfig_PluginReloadCommand = ""; - - - - public static void configCreate() { - Long long_ = Long.valueOf(System.currentTimeMillis()); - send.console(Main.prefix + " §4Default GUI file (GUIs/default.yml) is loaded..."); - File config = new File(Main.getPath(), "GUIs/default.yml"); - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); - - set("GUI.Enable", GUI_Enable, yamlConfiguration); - set("GUI.Lines", GUI_Lines, yamlConfiguration); - set("GUI.Name", GUI_Name, yamlConfiguration); - set("GUI.FillItem.Enable", GUI_FillItem_Enable, yamlConfiguration); - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { - set("GUI.FillItem.GlassPaneCollor", GUI_FillItem_Item_1_8, yamlConfiguration); - } else set("GUI.FillItem.Item", GUI_FillItem_Item, yamlConfiguration); - - set("Command.Alias", Command_Alias, yamlConfiguration); - set("Command.Permission.Required", Command_Permission, yamlConfiguration); - set("Slots.Example.Slot", slot, yamlConfiguration); - set("Slots.Example.Enable", enable, yamlConfiguration); - set("Slots.Example.Item.Empty", ItemEmty, yamlConfiguration); - set("Slots.Example.Item.Amount", ItemAmout, yamlConfiguration); - if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) { - set("Slots.Example.Item.PlayerHead.Enable", Playerhead_enable, yamlConfiguration); - set("Slots.Example.Item.PlayerHead.Base64.Enable", base64_Enable, yamlConfiguration); - set("Slots.Example.Item.PlayerHead.Base64.Base64Value", base64value, yamlConfiguration); - set("Slots.Example.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", PlayerWhoHasOpenedTheGUI, yamlConfiguration); - set("Slots.Example.Item.PlayerHead.PlayerName", PlayerName, yamlConfiguration); - } - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { - set("Slots.Example.Item.Material", "TNT", yamlConfiguration); - } else set("Slots.Example.Item.Material", Item, yamlConfiguration); - set("Slots.Example.Item.Name", Itemname, yamlConfiguration); - set("Slots.Example.Item.Lore", ItemLore, yamlConfiguration); - set("Slots.Example.CustomSound.Enable", CustomSound, yamlConfiguration); - set("Slots.Example.CustomSound.NoSound", CustomSound_NoSound, yamlConfiguration); - set("Slots.Example.CustomSound.Sound", CustomSound_Sound, yamlConfiguration); - set("Slots.Example.Cost.Enable", Cost, yamlConfiguration); - set("Slots.Example.Cost.Price", Cost_Price, yamlConfiguration); - set("Slots.Example.Command.Enable", Command, yamlConfiguration); - set("Slots.Example.Command.BungeeCommand", BungeeCommand, yamlConfiguration); - set("Slots.Example.Command.CommandAsConsole", CommandAsConsole, yamlConfiguration); - set("Slots.Example.Command.Command", Commands, yamlConfiguration); - set("Slots.Example.ServerChange.Enable", Server_Change, yamlConfiguration); - set("Slots.Example.ServerChange.Server", Server_Change_Server, yamlConfiguration); - set("Slots.Example.OpenGUI.Enable", OpenGUI, yamlConfiguration); - set("Slots.Example.OpenGUI.GUI", OpenGUI_GUI, yamlConfiguration); - set("Slots.Example.Message.Enable", Message, yamlConfiguration); - set("Slots.Example.Message.Message", Messages, yamlConfiguration); - set("Slots.Example.Permission.Required", Permission, yamlConfiguration); - - set("Slots.Example.SetConfig.Enable", SetConfig_Enable, yamlConfiguration); - set("Slots.Example.SetConfig.File.Path", SetConfig_FilePath, yamlConfiguration); - set("Slots.Example.SetConfig.Option.Path", SetConfig_OptionPath, yamlConfiguration); - set("Slots.Example.SetConfig.Option.Premat", SetConfig_OptionPremat, yamlConfiguration); - set("Slots.Example.SetConfig.Value.LeftClick.String", SetConfig_ValueLeftString, yamlConfiguration); - set("Slots.Example.SetConfig.Value.LeftClick.Boolean", SetConfig_ValueLeftBoolean, yamlConfiguration); - set("Slots.Example.SetConfig.Value.LeftClick.Integer", SetConfig_ValueLeftInteger, yamlConfiguration); - set("Slots.Example.SetConfig.Value.LeftClick.Double", SetConfig_ValueLeftDouble, yamlConfiguration); - set("Slots.Example.SetConfig.Value.LeftClick.List", SetConfig_ValueLeftList, yamlConfiguration); - set("Slots.Example.SetConfig.Value.RightClick.String", SetConfig_ValueRightString, yamlConfiguration); - set("Slots.Example.SetConfig.Value.RightClick.Boolean", SetConfig_ValueRightBoolean, yamlConfiguration); - set("Slots.Example.SetConfig.Value.RightClick.Integer", SetConfig_ValueRightInteger, yamlConfiguration); - set("Slots.Example.SetConfig.Value.RightClick.Double", SetConfig_ValueRightDouble, yamlConfiguration); - set("Slots.Example.SetConfig.Value.RightClick.List", SetConfig_ValueRightList, yamlConfiguration); - set("Slots.Example.SetConfig.PluginReload.Enable", SetConfig_PluginReloadEnable, yamlConfiguration); - set("Slots.Example.SetConfig.PluginReload.Command", SetConfig_PluginReloadCommand, yamlConfiguration); - - - try { - yamlConfiguration.save(config); - } catch (IOException e) { - e.printStackTrace(); - } - - - send.console(Main.prefix + " §2Default GUI file (GUIs/default.yml) was loaded." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); - } - - private static void set(String path, String value, YamlConfiguration config) { - if (!config.contains(path)) { - config.set(path, value); - } - } - - private static void set(String path, Integer value, YamlConfiguration config) { - if (!config.contains(path)) { - config.set(path, value); - } - } - - private static void set(String path, Boolean value, YamlConfiguration config) { - if (!config.contains(path)) { - config.set(path, value); - } - } - - private static void set(String path, List value, YamlConfiguration config) { - if (!config.contains(path)) { - config.set(path, value); - } - } - - private static void set(String path, Double value, YamlConfiguration config) { - if (!config.contains(path)) { - config.set(path, value); - } - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java index 7d8bf2e..c7fe49d 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java @@ -2,6 +2,7 @@ package de.jatitv.commandguiv2.Spigot.config.config; import de.jatitv.commandguiv2.Spigot.Main; 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.minecraftVersion.MCVersion; import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config; @@ -14,10 +15,8 @@ import java.util.Arrays; public class ConfigCreate { - public static Integer ConfigVersion = 4; - public static void configCreate() { - Long long_ = Long.valueOf(System.currentTimeMillis()); + long long_ = System.currentTimeMillis(); if (new File(Main.getPath(), "config.yml").exists()) { if (Main.plugin.getConfig().getBoolean("Plugin.Debug")) send.console(Main.prefix + " §5DEBUG: §6" + " §4config.yml are created / updated..."); } else send.console(Main.prefix + " §4config.yml are created..."); @@ -25,24 +24,15 @@ public class ConfigCreate { File config = new File(Main.getPath(), "config.yml"); YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); - if (yamlConfiguration.getInt("ConfigVersion") < ConfigVersion && new File(Main.getPath(), "config.yml").exists()) { - send.console(Util.getPrefix() +" §4----------------------"); - send.console(Util.getPrefix() +" "); - send.console(Util.getPrefix() +" §6New features have been added to CommandGUI. The Config is adapted!"); - send.console(Util.getPrefix() +" "); - send.console(Util.getPrefix() +" §4----------------------"); - } + if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration); - yamlConfiguration.set("ConfigVersion", ConfigVersion); - - Config.set("Plugin.UpdateCheckOnJoin", true, yamlConfiguration); Config.set("Plugin.Debug", false, yamlConfiguration); Config.set("Plugin.HelpAlias", true, yamlConfiguration); Config.set("Plugin.language", "english", yamlConfiguration); Config.set("Plugin.Currency", "$", yamlConfiguration); Config.set("Plugin.DefaultGUI", "default", yamlConfiguration); - Config.set("Storage.Type", "YML", yamlConfiguration); + Config.set("Storage.Type", "SQLITE", yamlConfiguration); Config.set("Storage.MySQL.IP", "localhost", yamlConfiguration); Config.set("Storage.MySQL.Port", 3306, yamlConfiguration); Config.set("Storage.MySQL.Database", "database", yamlConfiguration); @@ -110,6 +100,20 @@ public class ConfigCreate { Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration); Config.set("Advanced.UseItem.World.Protection.List", Arrays.asList("World1", "World2"), yamlConfiguration); + Config.set("Toggle.Items.OnOrYes.Item.Base64.Enable", false, yamlConfiguration); + Config.set("Toggle.Items.OnOrYes.Item.Base64.Base64Value", "", yamlConfiguration); + Config.set("Toggle.Items.OnOrYes.Item.Material", ItemVersion.getGreenWool().getType().toString(), yamlConfiguration); + + Config.set("Toggle.Items.OffOrNo.Item.Base64.Enable", false, yamlConfiguration); + Config.set("Toggle.Items.OffOrNo.Item.Base64.Base64Value", "", yamlConfiguration); + Config.set("Toggle.Items.OffOrNo.Item.Material", ItemVersion.getRedWool().getType().toString(), yamlConfiguration); + + Config.set("Toggle.Permission.Commands.True", "luckperms user [player] permission set [perm] true", yamlConfiguration); + Config.set("Toggle.Permission.Commands.False", "luckperms user [player] permission set [perm] false", yamlConfiguration); + + Config.set("Placeholder.True", "&2true", yamlConfiguration); + Config.set("Placeholder.False", "&4false", yamlConfiguration); + Config.set("Sound.Enable", true, yamlConfiguration); Config.set("Sound.OpenInventory.Enable", true, yamlConfiguration); @@ -155,6 +159,6 @@ public class ConfigCreate { } catch (IOException e) { e.printStackTrace(); } - send.console(Main.prefix + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); + send.console(Main.prefix + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java index 3e071aa..f9c2d25 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java @@ -1,8 +1,11 @@ package de.jatitv.commandguiv2.Spigot.config.config; import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.system.database.MySQL; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; +import de.jatitv.commandguiv2.Spigot.system.database.StorageType; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; @@ -11,19 +14,20 @@ import org.bukkit.Sound; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; public class SelectConfig { - public static Boolean DisableUpdateChecker; - public static Boolean UpdateCheckOnJoin; + private static final File config = new File(Main.getPath(), "config.yml"); + private static final YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); public static Boolean Debug; public static Boolean HelpAlias; public static String language; public static String Currency; - public static String Storage; + public static String storage; public static Boolean Bungee; public static String thisServer; @@ -57,6 +61,8 @@ public class SelectConfig { public static String UseItemWorldMode; public static List UseItemWorldList; + public static Boolean disableInfoBySneak; + public static Boolean UseItem_InventorySlot_FreeSlot; public static Integer UseItem_InventorySlot; public static Boolean UseItem_InventorySlotEnforce; @@ -69,6 +75,20 @@ public class SelectConfig { public static String UseItem_Name; public static List UseItem_Lore; + public static Boolean toggleItemOnOrYesBase64; + public static String toggleItemOnOrYesBase64Value; + public static String toggleItemOnOrYesMaterial; + + public static Boolean toggleItemOffOrNoBase64; + public static String toggleItemOffOrNoBase64Value; + public static String toggleItemOffOrNoMaterial; + + public static String togglePermTrue; + public static String togglePermFalse; + + public static String placeholderTrue; + public static String placeholderFalse; + public static Boolean Sound_Enable = true; public static Boolean Sound_OpenInventory_Enable = true; @@ -97,20 +117,23 @@ public class SelectConfig { public static void onSelect() { - File config = new File(Main.getPath(), "config.yml"); - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + if (yamlConfiguration.getInt("ConfigVersion") < Util.getConfigVersion() && new File(Main.getPath(), "config.yml").exists()) { + send.console(Util.getPrefix() + " §4----------------------"); + send.console(Util.getPrefix() + " "); + send.console(Util.getPrefix() + " §6New features have been added to CommandGUI. The Config is adapted!"); + send.console(Util.getPrefix() + " "); + send.console(Util.getPrefix() + " §4----------------------"); + if (yamlConfiguration.getInt("ConfigVersion") < 5) { + ConfigConverterUnderV5.convert(); + } + } - if (yamlConfiguration.get("Plugin.DisableUpdateChecker") == null) { - DisableUpdateChecker = false; - } else DisableUpdateChecker = yamlConfiguration.getBoolean("Plugin.DisableUpdateChecker"); - UpdateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.UpdateCheckOnJoin"); Debug = yamlConfiguration.getBoolean("Plugin.Debug"); HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias"); language = yamlConfiguration.getString("Plugin.language"); Currency = yamlConfiguration.getString("Plugin.Currency"); DefaultGUI = yamlConfiguration.getString("Plugin.DefaultGUI"); - - Storage = yamlConfiguration.getString("Storage.Type").toUpperCase(); + storage = yamlConfiguration.getString("Storage.Type").toUpperCase(); MySQL.ip = yamlConfiguration.getString("Storage.MySQL.IP"); MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port"); @@ -140,7 +163,7 @@ public class SelectConfig { UseItem_Base64value = yamlConfiguration.getString("UseItem.Item.PlayerHead.Base64.Base64Value"); UseItem_PlayerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("UseItem.Item.PlayerHead.PlayerWhoHasOpenedTheGUI"); UseItem_PlayerName = yamlConfiguration.getString("UseItem.Item.PlayerHead.PlayerName"); - UseItem_Name = Replace.replace(Util.getPrefix(),yamlConfiguration.getString("UseItem.Item.Name")); + UseItem_Name = Replace.replace(Util.getPrefix(), yamlConfiguration.getString("UseItem.Item.Name")); UseItem_Lore = yamlConfiguration.getStringList("UseItem.Item.Lore"); UseItem_GiveOnEveryJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnEveryJoin"); UseItem_GiveOnlyOnFirstJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnlyOnFirstJoin"); @@ -154,7 +177,7 @@ public class SelectConfig { UseItemGameModeRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.GameMode.Protection.RemoveItemWhenItIsDisabled"); UseItemGameModeMode = yamlConfiguration.getString("Advanced.UseItem.GameMode.Protection.Mode"); List gml = new ArrayList<>(); - for (String gm : yamlConfiguration.getStringList("Advanced.UseItem.GameMode.Protection.List")){ + for (String gm : yamlConfiguration.getStringList("Advanced.UseItem.GameMode.Protection.List")) { gml.add(gm.toUpperCase()); } UseItemGameModeList = gml; @@ -164,7 +187,25 @@ public class SelectConfig { UseItemWorldProtection = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.Enable"); UseItemWorldRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.RemoveItemWhenItIsDisabled"); UseItemWorldMode = yamlConfiguration.getString("Advanced.UseItem.World.Protection.Mode"); - UseItemWorldList =yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List"); + UseItemWorldList = yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List"); + + if (yamlConfiguration.get("Advanced.UseItem.DisableInfoBySneak") != null){ + disableInfoBySneak = yamlConfiguration.getBoolean("Advanced.UseItem.DisableInfoBySneak"); + } + + toggleItemOnOrYesBase64 = yamlConfiguration.getBoolean("Toggle.Items.OnOrYes.Item.Base64.Enable"); + toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value"); + toggleItemOnOrYesMaterial = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Material"); + + toggleItemOffOrNoBase64 = yamlConfiguration.getBoolean("Toggle.Items.OffOrNo.Item.Base64.Enable"); + toggleItemOffOrNoBase64Value = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Base64.Base64Value"); + toggleItemOffOrNoMaterial = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Material"); + + togglePermTrue = yamlConfiguration.getString("Toggle.Permission.Commands.True"); + togglePermFalse = yamlConfiguration.getString("Toggle.Permission.Commands.False"); + + placeholderTrue = yamlConfiguration.getString("Placeholder.True"); + placeholderFalse = yamlConfiguration.getString("Placeholder.False"); Sound_Enable = yamlConfiguration.getBoolean("Sound.Enable"); Sound_OpenInventory_Enable = yamlConfiguration.getBoolean("Sound.OpenInventory.Enable"); @@ -180,6 +221,7 @@ public class SelectConfig { Sound_Give_input = (yamlConfiguration.getString("Sound.Give.Sound").toUpperCase().replace(".", "_")); Sound_PlayerNotFound_Enable = yamlConfiguration.getBoolean("Sound.PlayerNotFound.Enable"); Sound_PlayerNotFound_input = (yamlConfiguration.getString("Sound.PlayerNotFound.Sound").toUpperCase().replace(".", "_")); + setConfigVersion(); } @@ -302,4 +344,13 @@ public class SelectConfig { } } + + private static void setConfigVersion() { + yamlConfiguration.set("ConfigVersion", Util.getConfigVersion()); + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java new file mode 100644 index 0000000..14f3988 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java @@ -0,0 +1,176 @@ +package de.jatitv.commandguiv2.Spigot.config.configConverter; + +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions; +import de.jatitv.commandguiv2.Util; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import org.apache.commons.io.FileUtils; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.plugin.Plugin; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +public class ConfigConverterUnderV5 { + public static void convert() { + renameFolder(); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4Config conversion to the new config structure starts!"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------"); + File f = new File(Main.getPath() + "/OldConfig/GUIs/Version4"); + File[] fileArray = f.listFiles(); + + for (File configOld : fileArray) { + String sub = configOld.getName().substring(configOld.getName().length() - 4); + if (sub.equals(".yml")) { + YamlConfiguration yamlConfigurationOld = YamlConfiguration.loadConfiguration(configOld); + + File config = new File(Main.getPath(), "GUIs/" + configOld.getName().replace(".yml", "") + ".yml"); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + Boolean enable = yamlConfigurationOld.getBoolean("GUI.Enable"); + Integer lines = yamlConfigurationOld.getInt("GUI.Lines"); + + String name = yamlConfigurationOld.getString("GUI.Name"); + Boolean fillItemEnable = yamlConfigurationOld.getBoolean("GUI.FillItem.Enable"); + String fillItem; + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + fillItem = yamlConfigurationOld.getString("GUI.FillItem.GlassPaneColor"); + } else fillItem = yamlConfigurationOld.getString("GUI.FillItem.Item"); + + Boolean alias = yamlConfigurationOld.getBoolean("Command.Alias"); + Boolean aliasPerm = yamlConfigurationOld.getBoolean("Command.Permission.Required"); + + setNew(enable, lines, name, fillItemEnable, fillItem, alias, aliasPerm, yamlConfiguration); + + for (String key : yamlConfigurationOld.getConfigurationSection("Slots").getKeys(false)) { + Integer slotNumber = yamlConfigurationOld.getInt("Slots." + key + ".Slot"); + Boolean slotEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Enable"); + Boolean permRequired = yamlConfigurationOld.getBoolean("Slots." + key + ".Permission.Required"); + + Boolean empty = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.Empty"); + Integer itemAmount = yamlConfigurationOld.getInt("Slots." + key + ".Item.Amount"); + Boolean playerHeadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Enable"); + Boolean base64Enable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Base64.Enable"); + String base64Value = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.Base64.Base64Value"); + Boolean playerWhoHasOpenedTheGUI = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.PlayerWhoHasOpenedTheGUI"); + String playerName = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.PlayerName"); + String itemMaterial = yamlConfigurationOld.getString("Slots." + key + ".Item.Material"); + String itemName = yamlConfigurationOld.getString("Slots." + key + ".Item.Name"); + List lore = yamlConfigurationOld.getStringList("Slots." + key + ".Item.Lore"); + Boolean customSoundEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.Enable"); + Boolean customSoundNoSound = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.NoSound"); + String customSoundSound = yamlConfigurationOld.getString("Slots." + key + ".CustomSound.Sound"); + Boolean costEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Cost.Enable"); + Double price = yamlConfigurationOld.getDouble("Slots." + key + ".Cost.Price"); + Boolean commandEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.Enable"); + Boolean commandBungeeCommand = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.BungeeCommand"); + Boolean commandAsConsole = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.CommandAsConsole"); + List command = yamlConfigurationOld.getStringList("Slots." + key + ".Command.Command"); + Boolean serverChange = yamlConfigurationOld.getBoolean("Slots." + key + ".ServerChange.Enable"); + String serverChangeServer = yamlConfigurationOld.getString("Slots." + key + ".ServerChange.Server"); + Boolean openGUIEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".OpenGUI.Enable"); + String openGUI = yamlConfigurationOld.getString("Slots." + key + ".OpenGUI.GUI"); + Boolean togglePermission = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.Permission.Enable"); + String togglePermissionPerm = yamlConfigurationOld.getString("Slots." + key + ".Toggle.Permission.Permission"); + Boolean toggleUseItem = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.UseItem.Enable"); + Boolean messageEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Message.Enable"); + List message = yamlConfigurationOld.getStringList("Slots." + key + ".Message.Message"); + Boolean setConfigEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Enable"); + String configFilePath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.File.Path"); + String configOptionPath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Path"); + String configOptionPremat = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Premat"); + // Boolean ConfigChatInput = ; + + String configStringValueLeft = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.LeftClick.String"); + Boolean configBooleanValueLeft = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.LeftClick.Boolean"); + Integer configIntegerValueLeft = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.LeftClick.Integer"); + Double configDoubleValueLeft = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.LeftClick.Double"); + List configListValueLeft = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.Value.LeftClick.List"); + + String configStringValueRight = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.RightClick.String"); + Boolean configBooleanValueRight = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.RightClick.Boolean"); + Integer configIntegerValueRight = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.RightClick.Integer"); + Double configDoubleValueRight = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.RightClick.Double"); + List configListValueRight = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.RightClick.Value.List"); + + Boolean pluginReloadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable"); + String pluginReloadCommand = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.PluginReload.Command"); + + setNew(key, slotNumber, slotEnable, key, permRequired, yamlConfiguration); + CreateFunctions.createFunction(key, empty, itemAmount, playerHeadEnable, base64Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, itemMaterial, itemName, lore, + customSoundEnable, customSoundNoSound, customSoundSound, costEnable, price, commandEnable, commandBungeeCommand, commandAsConsole, command, serverChange, + serverChangeServer, openGUIEnable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, messageEnable, message, setConfigEnable, configFilePath, + configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft, configDoubleValueLeft, configListValueLeft, + configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight, configListValueRight, pluginReloadEnable, pluginReloadCommand); + } + + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4The conversion to the new config structure is completed!"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]"); + send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------"); + } + + private static void renameFolder() { + File dir = new File(Main.getPath() + "/GUIs"); + File newDir = new File(Main.getPath() + "/OldConfig/GUIs/Version4"); + + try { + FileUtils.moveDirectory(dir, newDir); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private static void setNew(Boolean enable, Integer lines, String name, Boolean fillItemEnable, String fillItem, Boolean alias, Boolean aliasPerm, YamlConfiguration yamlConfiguration) { + set("GUI.Enable", enable, yamlConfiguration); + set("GUI.Lines", lines, yamlConfiguration); + set("GUI.Name", name, yamlConfiguration); + set("GUI.FillItem.Enable", fillItemEnable, yamlConfiguration); + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + set("GUI.FillItem.GlassPaneColor", fillItem, yamlConfiguration); + } else set("GUI.FillItem.Item", fillItem, yamlConfiguration); + + set("Command.Alias", alias, yamlConfiguration); + set("Command.Permission.Required", aliasPerm, yamlConfiguration); + } + + private static void setNew(String key, Integer slotNumber, Boolean slotEnable, String function, Boolean permRequired, YamlConfiguration yamlConfiguration) { + set("Slots." + key + ".Slot", slotNumber, yamlConfiguration); + set("Slots." + key + ".Enable", slotEnable, yamlConfiguration); + set("Slots." + key + ".Function", function, yamlConfiguration); + set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration); + set("Slots." + key + ".Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration); + set("Slots." + key + ".Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration); + } + + private static void set(String path, String value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Integer value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Boolean value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java new file mode 100644 index 0000000..536d230 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java @@ -0,0 +1,146 @@ +package de.jatitv.commandguiv2.Spigot.config.functions; + +import de.jatitv.commandguiv2.Spigot.Main; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +public class CreateFunctions { + public static void create() { + createFunction("UseItem", false, 1, false, false, "", false, "", "", + "&6Toggle UseItem", Arrays.asList("&bYou currently have the UseItem set to: %commandgui_useitem%"), false, false, + "", false, 0.0, false, false, false, Arrays.asList(), false, + "", false, "", false, "", true, true, + Arrays.asList("&bYour UseItem was set to: %commandgui_useitem%&b."), false, "", "", "String", + "", false, 0, 0.0, Arrays.asList(), "", false, + 0, 0.0, Arrays.asList(), false, ""); + + createFunction("SupportDiscord", false, 1, true, true, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19", + false, "", (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) ? "TNT" : "", + "&3Support Discord", Arrays.asList("&8-----------------", "&bIf you need help setting up the plugin,", "&bfeel free to contact me on the Suport Discord.", + "&8-----------------", "&eIf you find any errors or bugs,", "&eplease contact me so I can fix them.", "&8-----------------", "&5Discord: §7http://dc.t2code.net"), + false, false, "", false, 0.0, false, false, + false, Arrays.asList(), false, "", false, "", false, "", + false, true, Arrays.asList("&6You can find more information on Discord: &ehttp://dc.t2code.net"), false, "", + "", "String", "", false, 0, 0.0, Arrays.asList(), + "", false, 0, 0.0, Arrays.asList(), false, ""); + + + } + + public static void createFunction(String fileName, Boolean empty, Integer itemAmount, Boolean playerHeadEnable, Boolean base64Enable, String base64Value, Boolean playerWhoHasOpenedTheGUI, + String playerName, String itemMaterial, String name, List lore, Boolean customSoundEnable, Boolean customSoundNoSound, String customSoundSound, + Boolean costEnable, Double price, Boolean commandEnable, Boolean commandBungeeCommand, Boolean commandAsConsole, List command, + Boolean serverChange, String serverChangeServer, Boolean openGUIEnable, String openGUI, Boolean togglePermission, String togglePermissionPerm, + Boolean toggleUseItem, Boolean messageEnable, List message, Boolean setConfigEnable, String configFilePath, String configOptionPath, + String configOptionPremat, String configStringValueLeft, Boolean configBooleanValueLeft, Integer configIntegerValueLeft, Double configDoubleValueLeft, + List configListValueLeft, String configStringValueRight, Boolean configBooleanValueRight, Integer configIntegerValueRight, Double configDoubleValueRight, + List configListValueRight, Boolean pluginReloadEnable, String pluginReloadCommand) { + long long_ = System.currentTimeMillis(); + + File config = new File(Main.getPath(), "Functions/" + fileName + ".yml"); + int i = 1; + while (config.exists()) { + config = new File(Main.getPath(), "Functions/" + fileName + "-" + i + ".yml"); + i++; + } + + send.console(Main.prefix + " §4Function GUI file (Functions/" + config.getName() + ") is loaded..."); + + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + set("Slots.Function.Item.Empty", empty, yamlConfiguration); + set("Slots.Function.Item.Amount", itemAmount, yamlConfiguration); + // if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) { + set("Slots.Function.Item.PlayerHead.Enable", playerHeadEnable, yamlConfiguration); + set("Slots.Function.Item.PlayerHead.Base64.Enable", base64Enable, yamlConfiguration); + set("Slots.Function.Item.PlayerHead.Base64.Base64Value", base64Value, yamlConfiguration); + set("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", playerWhoHasOpenedTheGUI, yamlConfiguration); + set("Slots.Function.Item.PlayerHead.PlayerName", playerName, yamlConfiguration); + // } + set("Slots.Function.Item.Material", itemMaterial == null ? "" : itemMaterial, yamlConfiguration); + set("Slots.Function.Item.Name", name == null ? "" : name, yamlConfiguration); + set("Slots.Function.Item.Lore", lore, yamlConfiguration); + set("Slots.Function.CustomSound.Enable", customSoundEnable, yamlConfiguration); + set("Slots.Function.CustomSound.NoSound", customSoundNoSound, yamlConfiguration); + set("Slots.Function.CustomSound.Sound", customSoundSound == null ? "" : customSoundSound, yamlConfiguration); + set("Slots.Function.Cost.Enable", costEnable, yamlConfiguration); + set("Slots.Function.Cost.Price", price, yamlConfiguration); + set("Slots.Function.Command.Enable", commandEnable, yamlConfiguration); + set("Slots.Function.Command.BungeeCommand", commandBungeeCommand, yamlConfiguration); + set("Slots.Function.Command.CommandAsConsole", commandAsConsole, yamlConfiguration); + set("Slots.Function.Command.Command", command, yamlConfiguration); + set("Slots.Function.ServerChange.Enable", serverChange, yamlConfiguration); + set("Slots.Function.ServerChange.Server", serverChangeServer == null ? "" : serverChangeServer, yamlConfiguration); + set("Slots.Function.OpenGUI.Enable", openGUIEnable, yamlConfiguration); + set("Slots.Function.OpenGUI.GUI", openGUI == null ? "" : openGUI, yamlConfiguration); + + set("Slots.Function.Toggle.Permission.Enable", togglePermission, yamlConfiguration); + set("Slots.Function.Toggle.Permission.Permission", togglePermissionPerm == null ? "" : togglePermissionPerm, yamlConfiguration); + set("Slots.Function.Toggle.UseItem.Enable", toggleUseItem, yamlConfiguration); + + set("Slots.Function.Message.Enable", messageEnable, yamlConfiguration); + set("Slots.Function.Message.Message", message, yamlConfiguration); + + set("Slots.Function.SetConfig.Enable", setConfigEnable, yamlConfiguration); + set("Slots.Function.SetConfig.File.Path", configFilePath == null ? "" : configFilePath, yamlConfiguration); + set("Slots.Function.SetConfig.Option.Path", configOptionPath == null ? "" : configOptionPath, yamlConfiguration); + set("Slots.Function.SetConfig.Option.Premat", configOptionPremat == null ? "" : configOptionPremat, yamlConfiguration); + set("Slots.Function.SetConfig.Value.LeftClick.String", configStringValueLeft == null ? "" : configStringValueLeft, yamlConfiguration); + set("Slots.Function.SetConfig.Value.LeftClick.Boolean", configBooleanValueLeft, yamlConfiguration); + set("Slots.Function.SetConfig.Value.LeftClick.Integer", configIntegerValueLeft, yamlConfiguration); + set("Slots.Function.SetConfig.Value.LeftClick.Double", configDoubleValueLeft, yamlConfiguration); + set("Slots.Function.SetConfig.Value.LeftClick.List", configListValueLeft, yamlConfiguration); + set("Slots.Function.SetConfig.Value.RightClick.String", configStringValueRight == null ? "" : configStringValueRight, yamlConfiguration); + set("Slots.Function.SetConfig.Value.RightClick.Boolean", configBooleanValueRight, yamlConfiguration); + set("Slots.Function.SetConfig.Value.RightClick.Integer", configIntegerValueRight, yamlConfiguration); + set("Slots.Function.SetConfig.Value.RightClick.Double", configDoubleValueRight, yamlConfiguration); + set("Slots.Function.SetConfig.Value.RightClick.List", configListValueRight, yamlConfiguration); + set("Slots.Function.SetConfig.PluginReload.Enable", pluginReloadEnable, yamlConfiguration); + set("Slots.Function.SetConfig.PluginReload.Command", pluginReloadCommand == null ? "" : pluginReloadCommand, yamlConfiguration); + + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + send.console(Main.prefix + " §2Function file (Functions/" + config.getName() + ") was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + + } + + + private static void set(String path, String value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Integer value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Boolean value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, List value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Double value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java new file mode 100644 index 0000000..78fcf7c --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java @@ -0,0 +1,72 @@ +package de.jatitv.commandguiv2.Spigot.config.gui; + +import de.jatitv.commandguiv2.Spigot.Main; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + + +public class CreateGUI { + public static void configCreate() { + long long_ = System.currentTimeMillis(); + send.console(Main.prefix + " §4Default GUI file (GUIs/default.yml) is loaded..."); + File config = new File(Main.getPath(), "GUIs/default.yml"); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + set("GUI.Enable", true, yamlConfiguration); + set("GUI.Lines", 1, yamlConfiguration); + set("GUI.Name", "&5default &9GUI", yamlConfiguration); + set("GUI.FillItem.Enable", true, yamlConfiguration); + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + set("GUI.FillItem.GlassPaneColor", 15, yamlConfiguration); + } else set("GUI.FillItem.Item", "BLACK_STAINED_GLASS_PANE", yamlConfiguration); + + set("Command.Alias", true, yamlConfiguration); + set("Command.Permission.Required", true, yamlConfiguration); + + set("Slots.SupportDiscord.Slot", 4, yamlConfiguration); + set("Slots.SupportDiscord.Enable", true, yamlConfiguration); + set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration); + set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration); + set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration); + set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration); + + set("Slots.UseItem.Slot", 6, yamlConfiguration); + set("Slots.UseItem.Enable", true, yamlConfiguration); + set("Slots.UseItem.Function", "UseItem", yamlConfiguration); + set("Slots.UseItem.Permission.Required", false, yamlConfiguration); + set("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration); + set("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration); + + + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + send.console(Main.prefix + " §2Default GUI file (GUIs/default.yml) was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + } + + private static void set(String path, String value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Integer value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } + + private static void set(String path, Boolean value, YamlConfiguration config) { + if (!config.contains(path)) { + config.set(path, value); + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java new file mode 100644 index 0000000..419cc36 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java @@ -0,0 +1,122 @@ +package de.jatitv.commandguiv2.Spigot.gui; + +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.properties.Property; +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; +import de.jatitv.commandguiv2.Spigot.objects.functions.Function; +import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import de.jatitv.commandguiv2.Util; +import net.t2code.lib.Spigot.Lib.items.ItemVersion; +import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import net.t2code.lib.Spigot.Lib.replace.Replace; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.SkullMeta; + +import java.lang.reflect.Field; +import java.util.UUID; + +public class GuiBuilder { + + private static String prefix = Util.getPrefix(); + + protected static void item(Function function, Integer slot, Player player, Inventory inventory) { + ItemStack item = new ItemStack(Material.valueOf(function.item.toUpperCase().replace(".", "_"))); + ItemMeta itemMeta = item.getItemMeta(); + setDisplayNameAndLore(itemMeta, player, function); + item.setItemMeta(itemMeta); + Integer am; + if (function.itemAmount == 0) { + am = 1; + } else am = function.itemAmount; + item.setAmount(am); + inventory.setItem(slot, item); + } + + protected static void item(String material, Function function,Integer slot, Player player, Inventory inventory) { + ItemStack item = new ItemStack(Material.valueOf(material)); + ItemMeta itemMeta = item.getItemMeta(); + setDisplayNameAndLore(itemMeta, player, function); + item.setItemMeta(itemMeta); + Integer am; + if (function.itemAmount == 0) { + am = 1; + } else am = function.itemAmount; + item.setAmount(am); + inventory.setItem(slot, item); + } + + + private static void setDisplayNameAndLore(ItemMeta itemMeta, Player player, Function slot) { + if (Main.PaPi) { + itemMeta.setDisplayName(Replace.replace(prefix, player, slot.name.replace("[player]", player.getName()))); + itemMeta.setLore(Replace.replacePrice(prefix, player, slot.lore, slot.price + " " + SelectConfig.Currency)); + } else { + itemMeta.setDisplayName(Replace.replace(prefix, slot.name.replace("[player]", player.getName()))); + itemMeta.setLore(Replace.replacePrice(prefix, slot.lore, slot.price + " " + SelectConfig.Currency)); + } + } + + protected static void base64(String base64Value, Function function, Integer slot, Player player, Inventory inventory) { + ItemStack item = ItemVersion.getHeadIS(); + SkullMeta itemMeta = (SkullMeta) item.getItemMeta(); + setBase64(itemMeta, base64Value); + setDisplayNameAndLore(itemMeta, player, function); + item.setItemMeta(itemMeta); + Integer am; + if (function.itemAmount == 0) { + am = 1; + } else am = function.itemAmount; + item.setAmount(am); + inventory.setItem(slot, item); + } + + private static void setBase64(ItemMeta itemMeta, String base64Value) { + GameProfile profile = new GameProfile(UUID.randomUUID(), ""); + profile.getProperties().put("textures", new Property("textures", base64Value == null ? "" : base64Value)); + Field profileField; + try { + profileField = itemMeta.getClass().getDeclaredField("profile"); + profileField.setAccessible(true); + profileField.set(itemMeta, profile); + } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) { + e.printStackTrace(); + } + } + + protected static void base64(Function function,Integer slot, Player player, Inventory inventory) { + base64(function.base64Value, function,slot, player, inventory); + } + + protected static void playerHead(Function function, Integer slot,Player player, Inventory inventory, String skullName) { + ItemStack item = ItemVersion.getHeadIS(); + SkullMeta itemMeta = (SkullMeta) item.getItemMeta(); + setDisplayNameAndLore(itemMeta, player, function); + itemMeta.setOwner(skullName); + item.setItemMeta(itemMeta); + Integer am; + if (function.itemAmount == 0) { + am = 1; + } else am = function.itemAmount; + item.setAmount(am); + inventory.setItem(slot, item); + } + + public static void fillItem(Inventory inventory, Gui gui) { + ItemStack glass; + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.guiFillItemItem)); + } else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_"))); + ItemMeta itemMetaglass = glass.getItemMeta(); + itemMetaglass.setDisplayName(" "); + glass.setItemMeta(itemMetaglass); + glass.setAmount(1); + for (int i = 0; i < 9 * gui.guiLines; i++) { + inventory.setItem(i, glass); + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java index 24c2b44..771338b 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java @@ -1,16 +1,15 @@ package de.jatitv.commandguiv2.Spigot.gui; -import com.mojang.authlib.GameProfile; -import com.mojang.authlib.properties.Property; -import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener; +import de.jatitv.commandguiv2.Spigot.Listener.GUIListener; +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Slot; +import de.jatitv.commandguiv2.Spigot.objects.functions.Function; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; import de.jatitv.commandguiv2.Util; import io.github.solyze.plugmangui.inventories.PluginListGUI; -import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; import net.t2code.lib.Spigot.Lib.replace.Replace; @@ -21,18 +20,14 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.plugin.Plugin; -import java.lang.reflect.Field; -import java.util.UUID; - public class OpenGUI { private static Plugin plugin = Main.plugin; private static String prefix = Util.getPrefix(); - public static void openGUI(Player player, Object gui, String guiString) { + public static void openGUI(Player player, String guiString, Boolean sound) { + Gui gui = Main.guiHashMap.get(guiString); Long long_ = Long.valueOf(System.currentTimeMillis()); switch (guiString) { //case "plugin.PlotSquaredGUI": @@ -68,131 +63,89 @@ public class OpenGUI { } if (MCVersion.minecraft1_13) { - GUI_Listener.GUICode = ""; - } else GUI_Listener.GUICode = "§6§8§9§r"; - if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { + GUIListener.GUICode = ""; + } else GUIListener.GUICode = "§6§8§9§r"; + if (gui.guiEnable || player.hasPermission("commandgui.bypass")) { Inventory inventory; if (Main.PaPi) { - inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, player, GUI_Listener.GUICode + gui.GUI_Name))); - } else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, GUI_Listener.GUICode + gui.GUI_Name))); + inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, player, GUIListener.GUICode + gui.guiName))); + } else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, GUIListener.GUICode + gui.guiName))); - if (gui.GUI_FillItem_Enable) { - ItemStack glass; - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { - glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.GUI_FillItem_Item)); - } else glass = new ItemStack(Material.valueOf(gui.GUI_FillItem_Item.toUpperCase().replace(".", "_"))); - ItemMeta itemMetaglass = glass.getItemMeta(); - itemMetaglass.setDisplayName(" "); - glass.setItemMeta(itemMetaglass); - glass.setAmount(1); - for (int i = 0; i < 9 * gui.GUI_Lines; i++) { - inventory.setItem(i, glass); - } + if (gui.guiFillItemEnable) { + GuiBuilder.fillItem(inventory, gui); } - for (Slot slot : gui.GUI_Slots) { - if (!slot.Perm - || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)) - || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)+".see") - || player.hasPermission("commandgui.admin")) { - if (slot.Enable) { - if (slot.Empty) { - ItemStack air = new ItemStack(Material.AIR); - inventory.setItem(slot.Slot, air); - } else { - if (slot.PlayerHead_Enable) { - if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { - send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.Slot + 1) + " §7- " + Replace.replace(prefix, slot.Name)); - send.error(plugin, "Playerheads are only available from version 1.13!"); - send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.Slot + 1) + " §7- " + Replace.replace(prefix, slot.Name)); - } else { - ItemStack item = ItemVersion.getHeadIS(); - SkullMeta itemMeta = (SkullMeta) item.getItemMeta(); - if (slot.Base64_Enable) { + for (Slot slot : gui.slots) { + Function function = Main.functionHashMap.get(slot.function); + if (function == null) { + send.error(Main.plugin, "The Function " + slot.function + " in the GUI " + gui.key + " does not exist!"); + continue; + } + if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue; + if (slot.slot < 0 || slot.slot > gui.guiLines * 9) continue; - if (Main.PaPi) { - itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } else { - itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } - GameProfile profile = new GameProfile(UUID.randomUUID(), ""); - profile.getProperties().put("textures", new Property("textures", slot.Base64Value)); - Field profileField = null; - try { - profileField = itemMeta.getClass().getDeclaredField("profile"); - profileField.setAccessible(true); - profileField.set(itemMeta, profile); - } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) { - e.printStackTrace(); - } - item.setItemMeta(itemMeta); - Integer am; - if (slot.ItemAmount == 0) { - am = 1; - } else am = slot.ItemAmount; - item.setAmount(am); - inventory.setItem(slot.Slot, item); + if (slot.enable) { + if (function.empty) { + ItemStack air = new ItemStack(Material.AIR); + inventory.setItem(slot.slot, air); + } else { + if (function.togglePermission) { + if (player.hasPermission(function.togglePermissionPerm)) { + toggleOn(function, slot.slot, player, inventory); + } else { + toggleOff(function, slot.slot, player, inventory); + } + } else if (function.toggleUseItem) { + if (Events.useItemHashMap.get(player)) { + toggleOn(function, slot.slot, player, inventory); + } else { + toggleOff(function, slot.slot, player, inventory); + } + } else { + if (function.playerHead_Enable) { + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" + + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name)); + send.error(plugin, "Playerheads are only available from version 1.13!"); + send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" + + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name)); + } else { + if (function.base64_Enable) { + GuiBuilder.base64(function, slot.slot, player, inventory); } else { - if (slot.PlayerWhoHasOpenedTheGUI) { - if (Main.PaPi) { - itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } else { - itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } - itemMeta.setOwner(player.getName()); - item.setItemMeta(itemMeta); - Integer am; - if (slot.ItemAmount == 0) { - am = 1; - } else am = slot.ItemAmount; - item.setAmount(am); - inventory.setItem(slot.Slot, item); + if (function.playerWhoHasOpenedTheGUI) { + GuiBuilder.playerHead(function, slot.slot, player, inventory, player.getName()); } else { - if (Main.PaPi) { - itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } else { - itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } - itemMeta.setOwner(slot.PlayerName); - item.setItemMeta(itemMeta); - Integer am; - if (slot.ItemAmount == 0) { - am = 1; - } else am = slot.ItemAmount; - item.setAmount(am); - inventory.setItem(slot.Slot, item); + GuiBuilder.playerHead(function, slot.slot, player, inventory, function.playerName); } } } } else { - ItemStack item = new ItemStack(Material.valueOf(slot.Item.toUpperCase().replace(".", "_"))); - ItemMeta itemMeta = item.getItemMeta(); - if (Main.PaPi) { - itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } else { - itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName()))); - itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency)); - } - item.setItemMeta(itemMeta); - Integer am; - if (slot.ItemAmount == 0) { - am = 1; - } else am = slot.ItemAmount; - item.setAmount(am); - inventory.setItem(slot.Slot, item); + GuiBuilder.item(function, slot.slot, player, inventory); } } } + + } + } + if (sound) { + if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { + player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1); } } player.openInventory(inventory); - send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); - } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name))); + send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.guiName) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); + } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.guiName))); + } + + private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) { + if (SelectConfig.toggleItemOnOrYesBase64) { + GuiBuilder.base64(SelectConfig.toggleItemOnOrYesBase64Value, function, slot, player, inventory); + } else GuiBuilder.item(SelectConfig.toggleItemOnOrYesMaterial, function, slot, player, inventory); + } + + private static void toggleOff(Function function, Integer slot, Player player, Inventory inventory) { + if (SelectConfig.toggleItemOffOrNoBase64) { + GuiBuilder.base64(SelectConfig.toggleItemOffOrNoBase64Value, function, slot, player, inventory); + } else GuiBuilder.item(SelectConfig.toggleItemOffOrNoMaterial, function, slot, player, inventory); } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java new file mode 100644 index 0000000..2c302b4 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java @@ -0,0 +1,170 @@ +package de.jatitv.commandguiv2.Spigot.objects; + +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab; +import de.jatitv.commandguiv2.Spigot.objects.functions.Function; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; +import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public class Obj_Select { + public static void onSelect() { + onSelectFunction(); + onSelectGui(); + } + + public static void onSelectGui() { + Main.guiHashMap.clear(); + Main.allAliases.clear(); + File f = new File(Main.getPath() + "/GUIs/"); + File[] fileArray = f.listFiles(); + + for (File config_gui : fileArray) { + String sub = config_gui.getName().substring(config_gui.getName().length() - 4); + if (sub.equals(".yml")) { + String key = config_gui.getName().replace(".yml", ""); + Main.allAliases.add(key); + YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui); + + Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable"); + Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines"); + if (yamlConfiguration_gui.getInt("GUI.Lines") > 6) { + yamlConfiguration_gui.set("GUI.Lines", 6); + } + if (yamlConfiguration_gui.getInt("GUI.Lines") < 1) { + yamlConfiguration_gui.set("GUI.Lines", 1); + } + + String guiName = yamlConfiguration_gui.getString("GUI.Name"); + Boolean guiFillItemEnable = yamlConfiguration_gui.getBoolean("GUI.FillItem.Enable"); + String guiFillItemItem; + if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { + guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.GlassPaneColor"); + } else guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.Item"); + + Boolean commandAliasEnable = yamlConfiguration_gui.getBoolean("Command.Alias"); + Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required"); + + ArrayList slots = new ArrayList<>(); + for (String slotKey : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) { + Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + slotKey + ".Slot") - 1; + Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Enable"); + String function = yamlConfiguration_gui.getString("Slots." + slotKey + ".Function"); + Function functionCheck = Main.functionHashMap.get(function); + if (functionCheck == null) { + send.error(Main.plugin, "The Function " + function + " in the GUI " + key + " does not exist!"); + } + Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Permission.Required"); + String permSee = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.See"); + String permUse = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.Use"); + + Slot slot = new Slot(slotNumber, enable, function, permRequired, + Objects.requireNonNull(permSee).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1)) + .replace("[slotname]", slotKey.toLowerCase()), + Objects.requireNonNull(permUse).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1)) + .replace("[slotname]", slotKey.toLowerCase())); + slots.add(slot); + } + Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem, + key, commandAliasEnable, commandPermission, slots); + + Main.guiHashMap.put(key, gui); + CmdExecuter_GUITab.arg1.put(config_gui.getName() + .replace(".yml", ""), "commandgui.gui." + key); + + try { + yamlConfiguration_gui.save(config_gui); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + public static void onSelectFunction() { + Main.functionHashMap.clear(); + File f = new File(Main.getPath() + "/Functions/"); + File[] fileArray = f.listFiles(); + + for (File config : fileArray) { + String sub = config.getName().substring(config.getName().length() - 4); + if (sub.equals(".yml")) { + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + String key = config.getName().replace(".yml", ""); + Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty"); + Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount"); + Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable"); + Boolean base64_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Base64.Enable"); + String base64Value = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.Base64.Base64Value"); + Boolean playerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI"); + String playerName = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.PlayerName"); + String item = yamlConfiguration.getString("Slots.Function.Item.Material"); + String name = yamlConfiguration.getString("Slots.Function.Item.Name"); + List lore = yamlConfiguration.getStringList("Slots.Function.Item.Lore"); + Boolean customSound_Enable = yamlConfiguration.getBoolean("Slots.Function.CustomSound.Enable"); + Boolean customSound_NoSound = yamlConfiguration.getBoolean("Slots.Function.CustomSound.NoSound"); + String customSound_Sound = yamlConfiguration.getString("Slots.Function.CustomSound.Sound"); + Boolean cost_Enable = yamlConfiguration.getBoolean("Slots.Function.Cost.Enable"); + Double price = yamlConfiguration.getDouble("Slots.Function.Cost.Price"); + Boolean command_Enable = yamlConfiguration.getBoolean("Slots.Function.Command.Enable"); + Boolean command_BungeeCommand = yamlConfiguration.getBoolean("Slots.Function.Command.BungeeCommand"); + Boolean commandAsConsole = yamlConfiguration.getBoolean("Slots.Function.Command.CommandAsConsole"); + List command = yamlConfiguration.getStringList("Slots.Function.Command.Command"); + Boolean serverChange = yamlConfiguration.getBoolean("Slots.Function.ServerChange.Enable"); + String serverChangeServer = yamlConfiguration.getString("Slots.Function.ServerChange.Server"); + Boolean openGUI_Enable = yamlConfiguration.getBoolean("Slots.Function.OpenGUI.Enable"); + String openGUI = yamlConfiguration.getString("Slots.Function.OpenGUI.GUI"); + Boolean togglePermission = yamlConfiguration.getBoolean("Slots.Function.Toggle.Permission.Enable"); + String togglePermissionPerm = yamlConfiguration.getString("Slots.Function.Toggle.Permission.Permission"); + Boolean toggleUseItem = yamlConfiguration.getBoolean("Slots.Function.Toggle.UseItem.Enable"); + Boolean message_Enable = yamlConfiguration.getBoolean("Slots.Function.Message.Enable"); + List message = yamlConfiguration.getStringList("Slots.Function.Message.Message"); + Boolean setConfigEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Enable"); + String configFilePath = yamlConfiguration.getString("Slots.Function.SetConfig.File.Path"); + String configOptionPath = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Path"); + String configOptionPremat = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Premat"); + // Boolean ConfigChatInput = ; + + String configStringValueLeft = yamlConfiguration.getString("Slots.Function.SetConfig.Value.LeftClick.String"); + Boolean configBooleanValueLeft = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.LeftClick.Boolean"); + Integer configIntegerValueLeft = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.LeftClick.Integer"); + Double configDoubleValueLeft = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.LeftClick.Double"); + List configListValueLeft = yamlConfiguration.getStringList("Slots.Function.SetConfig.Value.LeftClick.List"); + + String configStringValueRight = yamlConfiguration.getString("Slots.Function.SetConfig.Value.RightClick.String"); + Boolean configBooleanValueRight = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.RightClick.Boolean"); + Integer configIntegerValueRight = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.RightClick.Integer"); + Double configDoubleValueRight = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.RightClick.Double"); + List configListValueRight = yamlConfiguration.getStringList("Slots.Function.SetConfig.RightClick.Value.List"); + + + Boolean pluginReloadEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.PluginReload.Enable"); + String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command"); + + + Function function = new Function(key, empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore, + customSound_Enable, customSound_NoSound, customSound_Sound, cost_Enable, price, command_Enable, command_BungeeCommand, commandAsConsole, command, + serverChange, serverChangeServer, openGUI_Enable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, message_Enable, message, + setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft, + configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight, + configListValueRight, pluginReloadEnable, pluginReloadCommand); + Main.functionHashMap.put(key, function); + + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java new file mode 100644 index 0000000..54b8ec9 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java @@ -0,0 +1,159 @@ +package de.jatitv.commandguiv2.Spigot.objects.functions; + +import java.util.List; + +public class Function { + + public String key; + public Boolean empty; + public Integer itemAmount; + public Boolean playerHead_Enable; + public Boolean base64_Enable; + public String base64Value; + public Boolean playerWhoHasOpenedTheGUI; + public String playerName; + public String item; + public String name; + public List lore; + public Boolean customSound_Enable; + public Boolean customSound_NoSound; + public String customSound_Sound; + public Boolean cost_Enable; + public Double price; + public Boolean command_Enable; + public Boolean command_BungeeCommand; + public Boolean commandAsConsole; + public Boolean serverChange; + public String serverChangeServer; + public List command; + public Boolean openGUI_Enable; + public String openGUI; + public Boolean togglePermission; + public String togglePermissionPerm; + public Boolean toggleUseItem; + public Boolean message_Enable; + public List message; + public Boolean setConfigEnable; + public String configFilePath; + public String configOptionPath; + public String configOptionPremat; + // public Boolean ConfigChatInput; + + public String configStringValueLeft; + public Boolean configBooleanValueLeft; + public Integer configIntegerValueLeft; + public Double configDoubleValueLeft; + public List configListValueLeft; + + public String configStringValueRight; + public Boolean configBooleanValueRight; + public Integer configIntegerValueRight; + public Double configDoubleValueRight; + public List configListValueRight; + + + public Boolean pluginReloadEnable; + public String pluginReloadCommand; + + public Function(String key, + Boolean empty, + Integer itemAmount, + Boolean playerHead_Enable, + Boolean base64Value_Enable, + String base64Value, + Boolean playerWhoHasOpenedTheGUI, + String playerName, + String item, + String name, + List lore, + Boolean customSound_Enable, + Boolean customSound_NoSound, + String customSound_Sound, + Boolean cost_Enable, + Double price, + Boolean command_Enable, + Boolean command_BungeeCommand, + Boolean commandAsConsole, + List command, + Boolean serverChange, + String serverChangeServer, + Boolean openGUI_Enable, + String openGUI, + Boolean togglePermission, + String togglePermissionPerm, + Boolean toggleUseItem, + Boolean message_Enable, + List message, + Boolean setConfigEnable, + String configFilePath, + String configOptionPath, + String configOptionPremat, + + String configStringValueLeft, + Boolean configBooleanValueLeft, + Integer configIntegerValueLeft, + Double configDoubleValueLeft, + List configListValueLeft, + + String configStringValueRight, + Boolean configBooleanValueRight, + Integer configIntegerValueRight, + Double configDoubleValueRight, + List configListValueRight, + + Boolean pluginReloadEnable, + String pluginReloadCommand) { + this.key = key; + this.empty = empty; + this.itemAmount = itemAmount; + this.playerHead_Enable = playerHead_Enable; + this.base64_Enable = base64Value_Enable; + this.base64Value = base64Value; + this.playerWhoHasOpenedTheGUI = playerWhoHasOpenedTheGUI; + this.playerName = playerName; + this.item = item; + this.name = name; + this.lore = lore; + this.customSound_Enable = customSound_Enable; + this.customSound_NoSound = customSound_NoSound; + this.customSound_Sound = customSound_Sound; + this.cost_Enable = cost_Enable; + this.price = price; + this.command_Enable = command_Enable; + this.command_BungeeCommand = command_BungeeCommand; + this.commandAsConsole = commandAsConsole; + this.command = command; + this.serverChange = serverChange; + this.serverChangeServer = serverChangeServer; + this.openGUI_Enable = openGUI_Enable; + this.openGUI = openGUI; + this.togglePermission = togglePermission; + this.togglePermissionPerm = togglePermissionPerm; + this.toggleUseItem = toggleUseItem; + this.message_Enable = message_Enable; + this.message = message; + this.setConfigEnable = setConfigEnable; + this.configFilePath = configFilePath; + this.configOptionPath = configOptionPath; + this.configOptionPremat = configOptionPremat; + // this.ConfigChatInput = ConfigChatInput; + + this.configStringValueLeft = configStringValueLeft; + this.configBooleanValueLeft = configBooleanValueLeft; + this.configIntegerValueLeft = configIntegerValueLeft; + this.configDoubleValueLeft = configDoubleValueLeft; + this.configListValueLeft = configListValueLeft; + + this.configStringValueRight = configStringValueRight; + this.configBooleanValueRight = configBooleanValueRight; + this.configIntegerValueRight = configIntegerValueRight; + this.configDoubleValueRight = configDoubleValueRight; + this.configListValueRight = configListValueRight; + + + this.pluginReloadEnable = pluginReloadEnable; + this.pluginReloadCommand = pluginReloadCommand; + + + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java new file mode 100644 index 0000000..a3ddaaa --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java @@ -0,0 +1,32 @@ +package de.jatitv.commandguiv2.Spigot.objects.guis; + +import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; + +import java.util.ArrayList; + +public class Gui { + public Boolean guiEnable; + public Integer guiLines; + public String guiName; + public Boolean guiFillItemEnable; + public String guiFillItemItem; + + + public String key; + public Boolean commandAliasEnable; + public Boolean commandPermissionEnable; + public ArrayList slots; + + public Gui(Boolean guiEnable, Integer guiLines, String guiName, Boolean guiFillitemEnable, String guiFillitemItem, + String commandCommand, Boolean commandAliasEnable, Boolean commandPermissionEnable, ArrayList slots){ + this.guiEnable = guiEnable; + this.guiLines = guiLines; + this.guiName = guiName; + this.guiFillItemEnable = guiFillitemEnable; + this.guiFillItemItem = guiFillitemItem; + this.key = commandCommand; + this.commandAliasEnable = commandAliasEnable; + this.commandPermissionEnable = commandPermissionEnable; + this.slots = slots; + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java new file mode 100644 index 0000000..6c4173c --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java @@ -0,0 +1,28 @@ +package de.jatitv.commandguiv2.Spigot.objects.slots; + +public class Slot { + + public Integer slot; + public Boolean enable; + public String function; + public Boolean permission; + public String permissionToSee; + public String permissionToUse; + + + public Slot(Integer slot, + Boolean enable, + String function, + Boolean permission, + String permissionToSee, + String permissionToUse + ) { + this.slot = slot; + this.enable = enable; + this.function = function; + this.permission = permission; + this.permissionToSee = permissionToSee; + this.permissionToUse = permissionToUse; + + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java index 6a2daf8..2d6ad1f 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java @@ -1,29 +1,35 @@ package de.jatitv.commandguiv2.Spigot.system; -import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener; -import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events_from1_10; -import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI; +import de.jatitv.commandguiv2.Spigot.Listener.GUIListener; +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.EventsFrom110; +import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab; import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem; import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help; import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister; -import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate; +import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions; +import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI; import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.system.database.MySQL; import de.jatitv.commandguiv2.Spigot.Listener.PluginEvent; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Obj_Select; +import de.jatitv.commandguiv2.Spigot.objects.Obj_Select; import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import de.jatitv.commandguiv2.Spigot.system.database.SQLITE; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; +import de.jatitv.commandguiv2.Spigot.system.database.StorageType; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; +import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; import java.io.*; +import java.sql.SQLException; import java.util.List; public class Load { @@ -40,10 +46,14 @@ public class Load { send.console(prefix + " §8-------------------------------"); - if (!new File(Main.getPath(), "config.yml").exists()) { try { - DefaultGUICreate.configCreate(); + CreateGUI.configCreate(); + } catch (Exception e) { + e.printStackTrace(); + } + try { + CreateFunctions.create(); } catch (Exception e) { e.printStackTrace(); } @@ -60,16 +70,20 @@ public class Load { } if (SelectConfig.Bungee) { - if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin,"cgui:bungee")){ + if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) { send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee"); - Bukkit.getMessenger().registerOutgoingPluginChannel(plugin,"cgui:bungee"); + Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "cgui:bungee"); } - if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin,"cgui:onlinepl")){ + if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "cgui:onlinepl")) { send.debug(plugin, "registerIncomingPluginChannel §ecgui:onlinepl"); - Bukkit.getMessenger().registerIncomingPluginChannel(plugin,"cgui:onlinepl", new Bungee_Sender_Reciver()); + Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "cgui:onlinepl", new Bungee_Sender_Reciver()); } } + if (PluginCheck.papi()) { + new Placeholder().register(); + } + try { LanguagesCreate.langCreate(); } catch (Exception e) { @@ -81,7 +95,7 @@ public class Load { e.printStackTrace(); } try { - CmdExecuter_GUI.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); + CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); } catch (Exception e) { e.printStackTrace(); } @@ -97,27 +111,9 @@ public class Load { } send.console(prefix + " §8-------------------------------"); - if (SelectConfig.Storage.equals("MYSQL")) { - MySQL.main(); - try { - MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" + - " `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," + - " `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," + - " `Status` INT(1) NOT NULL DEFAULT '1'," + - " `Slot` INT(1) NULL DEFAULT NULL," + - " UNIQUE INDEX `UUID` (`UUID`)" + - ")" + - "COLLATE='utf8mb4_general_ci'" + - "ENGINE=InnoDB" + - ";"); - MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;"); - } catch (Exception e) { - e.printStackTrace(); - } + loadStorage(prefix); + send.console(prefix + " §8-------------------------------"); - } else { - if (SelectConfig.Debug) send.console(prefix + " §6Storage medium §2YML §6is used."); - } if (Main.PaPi) { send.console(prefix + " §2PlaceholderAPI successfully connected!"); } else { @@ -125,22 +121,19 @@ public class Load { } try { - RegisterPermissions.onPermRegister(); + Permissions.onPermRegister(); } catch (Exception e) { e.printStackTrace(); } - // Main.plugin.getCommand("commandguiadmin").setExecutor(new CmdExecuter_Admin()); - // send.debug(plugin, "Commandregister: commandguiadmin"); - if (SelectConfig.HelpAlias) { Main.plugin.getCommand("commandguihelp").setExecutor(new CmdExecuter_Help()); - send.debug(plugin, "Commandregister: commandguihelp"); + send.debug(plugin, "CommandRegister: commandguihelp"); } - Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUI()); - send.debug(plugin, "Commandregister: commandgui"); + Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUITab()); + send.debug(plugin, "CommandRegister: commandgui"); Main.plugin.getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem()); - send.debug(plugin, "Commandregister: commandgui-item"); + send.debug(plugin, "CommandRegister: commandgui-item"); try { AliasRegister.onRegister(); @@ -148,20 +141,69 @@ public class Load { e.printStackTrace(); } - - Bukkit.getServer().getPluginManager().registerEvents(new GUI_Listener(), plugin); + Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin); Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin); Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin); if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) { - Bukkit.getServer().getPluginManager().registerEvents(new Events_from1_10(), plugin); + Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin); } - UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord); Metrics.Bstats(); Main.addonLoad(); T2CodeTemplate.onLoadFooter(prefix, long_); } + + private static void loadStorage(String prefix) { + try { + SelectDatabase.setStorage(StorageType.valueOf(SelectConfig.storage)); + } catch (Exception ignored) { + send.error(Main.plugin, "The storage medium " + SelectConfig.storage + " is not supported!"); + send.error(Main.plugin, "Storage medium " + StorageType.SQLITE + " is used."); + SelectDatabase.setStorage(StorageType.SQLITE); + } + + switch (SelectDatabase.getStorage()) { + case MYSQL: + send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); + MySQL.main(); + try { + MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" + + " `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," + + " `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," + + " `Status` INT(1) NOT NULL DEFAULT '1'," + + " `Slot` INT(1) NULL DEFAULT NULL," + + " UNIQUE INDEX `UUID` (`UUID`)" + + ")" + + "COLLATE='utf8mb4_general_ci'" + + "ENGINE=InnoDB" + + ";"); + MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;"); + } catch (Exception e) { + e.printStackTrace(); + } + break; + case YML: + send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); + break; + default: + case SQLITE: + send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); + try { + SQLITE.main(); + SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" + + "UUID TEXT NOT NULL," + + "Name TEXT NOT NULL," + + "Status INTEGER NOT NULL DEFAULT 1," + + "Slot INTEGER," + + "PRIMARY KEY(UUID)" + + ");"); + } catch (SQLException e) { + e.printStackTrace(); + } + break; + } + } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java index f6f62c3..f272735 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java @@ -5,6 +5,8 @@ package de.jatitv.commandguiv2.Spigot.system; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; +import de.jatitv.commandguiv2.Spigot.system.database.StorageType; import de.jatitv.commandguiv2.Util; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; @@ -34,8 +36,13 @@ public class Metrics { public static void Bstats() { int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin! Metrics metrics = new Metrics(Main.plugin, pluginId); - metrics.addCustomChart(new Metrics.SimplePie("updatecheckonjoin", () -> String.valueOf(SelectConfig.UpdateCheckOnJoin))); - metrics.addCustomChart(new Metrics.SimplePie("storage_type_mysql", () -> SelectConfig.Storage)); + metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> { + Map> map = new HashMap<>(); + String storage = SelectDatabase.getStorage().toString(); + Map entry = new HashMap<>(); + entry.put(storage, 1); map.put(storage, entry); + return map; + })); } private final Plugin plugin; diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java new file mode 100644 index 0000000..0f853c7 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java @@ -0,0 +1,77 @@ +package de.jatitv.commandguiv2.Spigot.system; + +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; +import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; +import net.t2code.lib.Spigot.Lib.register.Register; +import org.bukkit.permissions.PermissionDefault; +import org.bukkit.plugin.Plugin; + +public class Permissions { + private static final Plugin plugin = Main.plugin; + + public static final String key = "commandgui."; + public static final String command = key + "command"; + public static final String info = key + "command.info"; + public static final String bypass = key + "bypass"; + public static final String useitemToggle = key + "useitem.toggle"; + public static final String useitem = key + "useitem"; + public static final String getGuiItemAtLogin = key + "get.guiitem.at.login"; + public static final String updatemsg = key + "updatemsgupdatemsg"; + + public static final String player = key + "player"; + public static final String admin = key + "admin"; + + public static final PermissionDefault op = PermissionDefault.OP; + public static final PermissionDefault notOp = PermissionDefault.NOT_OP; + + public static void onPermRegister() { + Register.permission(command, op, plugin); + Register.permissionDescription(command, "Required permission to open GUIs via command", plugin); + + Register.permission(getGuiItemAtLogin, op, plugin); + Register.permissionDescription(getGuiItemAtLogin, "Only players with this permission will receive the GUI item", plugin); + + Register.permission(useitem, op, plugin); + Register.permissionDescription(useitem, "Required permission to use the GUI Item", plugin); + + Register.permission(useitemToggle, op, plugin); + Register.permissionDescription(useitemToggle, "Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)", plugin); + + Register.permission(updatemsg, op, plugin); + Register.permissionDescription(updatemsg, "Players with this permission get the update message when joining if an update is available", plugin); + + Register.permission(bypass, op, plugin); + Register.permissionDescription(bypass, "Bypass to open disabled GUIs", plugin); + + Register.permission(info, notOp, plugin); + Register.permissionDescription(info, "Permission to view CommandGUI info", plugin); + + Register.permission(player, op, command, true, plugin); + Register.permission(player, op, getGuiItemAtLogin, true, plugin); + Register.permission(player, op, useitem, true, plugin); + Register.permission(player, op, useitemToggle, true, plugin); + Register.permissionDescription(player, "All permissions from CommandGUI for Player", plugin); + + Register.permission(admin, op, command, true, plugin); + Register.permission(admin, op, getGuiItemAtLogin, true, plugin); + Register.permission(admin, op, useitem, true, plugin); + Register.permission(admin, op, useitemToggle, true, plugin); + Register.permission(admin, op, updatemsg, true, plugin); + Register.permission(admin, op, bypass, true, plugin); + Register.permission(admin, op, info, true, plugin); + Register.permissionDescription(admin, "All permissions from CommandGUI", plugin); + + + for (Gui gui : Main.guiHashMap.values()) { + Register.permission("commandgui.command." + gui.key, op, plugin); + Register.permission(admin, op, "commandgui.command." + gui.key, true, plugin); + for (Slot slot : gui.slots) { + Register.permission(slot.permissionToUse, op, plugin); + Register.permission(admin, op, slot.permissionToUse, true, plugin); + Register.permission(slot.permissionToSee, op, plugin); + Register.permission(admin, op, slot.permissionToSee, true, plugin); + } + } + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java new file mode 100644 index 0000000..aa87c76 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java @@ -0,0 +1,56 @@ +// This claas was created by JaTiTV + +package de.jatitv.commandguiv2.Spigot.system; + +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import me.clip.placeholderapi.expansion.PlaceholderExpansion; +import org.bukkit.entity.Player; + +public class Placeholder extends PlaceholderExpansion { + + @Override + public String getIdentifier() { + return "commandgui"; + } + + @Override + public String getAuthor() { + return Main.plugin.getDescription().getAuthors().toString(); + } + + @Override + public String getVersion() { + return Main.plugin.getDescription().getVersion(); + } + + @Override + public boolean canRegister() { + return true; + } + + @Override + public boolean persist() { + return true; + } + + @Override + public String onPlaceholderRequest(Player p, String params) { + if (params.contains("useitem_boolean")) { + return Events.useItemHashMap.get(p).toString(); + } + + if (params.contains("useitem")) { + if (Events.useItemHashMap.get(p)) { + return SelectConfig.placeholderTrue; + } else return SelectConfig.placeholderFalse; + } + + if (params.contains("slot")){ + return Events.useItemSlotHashMap.get(p).toString(); + } + + return null; + } +} \ No newline at end of file diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java deleted file mode 100644 index 4d883ab..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java +++ /dev/null @@ -1,22 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.system; - -import de.jatitv.commandguiv2.Spigot.Main; -import de.jatitv.commandguiv2.Spigot.Objekte.Object; -import de.jatitv.commandguiv2.Spigot.Objekte.Slot; -import org.bukkit.Bukkit; -import org.bukkit.permissions.Permission; - -public class RegisterPermissions { - public static void onPermRegister() { - for (Object gui : Main.guiHashMap.values()) { - if (Bukkit.getPluginManager().getPermission("commandgui.command." + gui.Command_Command) == null) { - Bukkit.getPluginManager().addPermission(new Permission("commandgui.command." + gui.Command_Command)); - } - for (Slot slot : gui.GUI_Slots) { - if (Bukkit.getPluginManager().getPermission("commandgui." + gui.Command_Command + ".slot." + (slot.Slot + 1)) == null) { - Bukkit.getPluginManager().addPermission(new Permission("commandgui." + gui.Command_Command + ".slot." + (slot.Slot + 1))); - } - } - } - } -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java similarity index 56% rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java index 63f4648..57692fe 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java @@ -2,9 +2,10 @@ package de.jatitv.commandguiv2.Spigot.system; import com.mojang.authlib.GameProfile; import com.mojang.authlib.properties.Property; +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; -import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; +import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.messages.send; @@ -19,29 +20,31 @@ import org.bukkit.inventory.meta.SkullMeta; import java.lang.reflect.Field; import java.util.UUID; -public class Give_UseItem { +public class UseItem { - public static void onGive(Player player) { + public static void giveUseItem(Player player) { Integer slot; - if (SelectConfig.UseItem_InventorySlotEnforce){ + if (protection(player, false)) return; + if (SelectConfig.UseItem_InventorySlotEnforce) { slot = SelectConfig.UseItem_InventorySlot; } else { - if (Select_Database.selectSlot(player) == null) { + if (Events.useItemSlotHashMap.get(player) == null) { slot = SelectConfig.UseItem_InventorySlot; } else { - slot = Select_Database.selectSlot(player); + slot = Events.useItemSlotHashMap.get(player); } } if (SelectConfig.UseItem_InventorySlot_FreeSlot) { player.getInventory().addItem(itemStack(player)); } else { - send.debug(Main.plugin,"setUseItem: " + player.getName() + " Slot: "+ Integer.parseInt(String.valueOf(slot-1))); + send.debug(Main.plugin, "setUseItem: " + player.getName() + " Slot: " + Integer.parseInt(String.valueOf(slot - 1))); player.getInventory().setItem(slot - 1, itemStack(player)); } } - public static void onGiveADD(Player player) { + public static void addUseItem(Player player) { + if (protection(player, false)) return; if (SelectConfig.UseItem_InventorySlot_FreeSlot) { player.getInventory().addItem(itemStack(player)); } else player.getInventory().addItem(itemStack(player)); @@ -95,4 +98,52 @@ public class Give_UseItem { } return item; } + + public static boolean protection(Player player, Boolean interact) { + if (SelectConfig.UseItemGameModeProtection) { + if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { + if (interact) { + send.player(player, SelectMessages.UseItemDisabledInGameMode); + } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player); + return true; + } + if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { + if (interact) { + send.player(player, SelectMessages.UseItemDisabledInGameMode); + } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player); + return true; + } + } + if (SelectConfig.UseItemWorldProtection) { + if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { + if (interact) { + send.player(player, SelectMessages.UseItemDisabledInWorld); + } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player); + return true; + } + if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { + if (interact) { + send.player(player, SelectMessages.UseItemDisabledInWorld); + } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player); + return true; + } + } + return false; + } + + public static void removeItem(Player player) { + send.debug(Main.plugin, "World disabled: " + player.getName() + " " + player.getWorld().toString()); + for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { + ItemStack itm = player.getInventory().getItem(iam); + if (itm != null) { + if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) { + if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { + player.getInventory().remove(itm); + player.updateInventory(); + break; + } + } + } + } + } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java index e4786d6..27dd43b 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java @@ -4,7 +4,6 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import de.jatitv.commandguiv2.Spigot.Main; import net.t2code.lib.Spigot.Lib.messages.send; -import org.bukkit.plugin.Plugin; import java.sql.*; import java.time.ZoneId; @@ -36,9 +35,9 @@ public class MySQL { config.addDataSourceProperty("prepStmtCacheSize", "250"); config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); ds = new HikariDataSource(config); - send.console(Main.prefix + " §2MySQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + send.console(Main.prefix + " §2MYSQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); } catch (Exception ex) { - send.console(Main.prefix + " §4MySQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + send.console(Main.prefix + " §4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms"); } //Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms"); @@ -152,6 +151,6 @@ public class MySQL { } public static void close() { - ds.close(); + if (ds != null) ds.close(); } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java new file mode 100644 index 0000000..401ad9b --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java @@ -0,0 +1,135 @@ +package de.jatitv.commandguiv2.Spigot.system.database; + +import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Util; +import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.Bukkit; + +import java.io.File; +import java.sql.*; +import java.util.ArrayList; +import java.util.HashMap; + +public class SQLITE { + protected static String url; + private static Connection con; + + public static void main() throws SQLException { + long long_ = System.currentTimeMillis(); + File directory = new File(Main.getPath() + "/Storage"); + if (!directory.exists()) { + directory.mkdir(); + } + url = "jdbc:sqlite:" + Main.plugin.getDataFolder() + "/Storage/data.db"; + con = DriverManager.getConnection(url); + Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §2SQLITE successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + DatabaseMetaData dbmd = con.getMetaData(); + } + + public static void query(String query) { + + send.debug(Main.plugin, query); + try { + Statement stmt = con.createStatement(); + stmt.execute(query); + stmt.close(); + } catch (SQLException e) { + System.err.println(e.getMessage()); + } + } + + public static void query(ArrayList queryList) { + try { + Statement stmt = con.createStatement(); + for (String query : queryList) { + send.debug(Main.plugin, query); + stmt.addBatch(query); + } + stmt.executeBatch(); + stmt.close(); + } catch (SQLException e) { + System.err.println(e.getMessage()); + } + } + + + public static HashMap> selectAll(String query) { + send.debug(Main.plugin, query); + HashMap> Result = new HashMap<>(); + try { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery(query); + int columns = rs.getMetaData().getColumnCount(); + while (rs.next()) { + ArrayList columnList = new ArrayList<>(); + for (int i = 1; i <= columns; i++) { + columnList.add(rs.getString(i)); + } + Result.put(rs.getString(1), columnList); + } + rs.close(); + stmt.close(); + } catch (SQLException ex) { + System.err.println(ex.getMessage()); + } + return Result; + } + + public static String select(String query) { + send.debug(Main.plugin, query); + String Ausgabe = ""; + try { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery(query); + while (rs.next()) { + Ausgabe = String.valueOf(rs.getString(1)); + } + rs.close(); + stmt.close(); + } catch (SQLException ex) { + System.err.println(ex.getMessage()); + } + return Ausgabe; + } + + public static int count(String query) { + send.debug(Main.plugin, query); + int count = 0; + try { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery(query); + while (rs.next()) { + count++; + } + rs.close(); + stmt.close(); + } catch (SQLException ex) { + System.err.println(ex.getMessage()); + } + return count; + } + + public static ArrayList selectRow(String query) { + send.debug(Main.plugin, query); + ArrayList Result = new ArrayList<>(); + try { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery(query); + int columns = rs.getMetaData().getColumnCount(); + while (rs.next()) { + for (int i = 1; i <= columns; i++) { + Result.add(rs.getString(i)); + } + } + rs.close(); + stmt.close(); + } catch (SQLException ex) { + System.err.println(ex.getMessage()); + } + return Result; + } + + public static void close() throws SQLException { + if (con != null) con.close(); + } +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java new file mode 100644 index 0000000..b2b9d5f --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java @@ -0,0 +1,127 @@ +package de.jatitv.commandguiv2.Spigot.system.database; + +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; +import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; +import org.bukkit.entity.Player; + +public class SelectDatabase { + + private static StorageType Storage; + + public static StorageType getStorage() { + return Storage; + } + + public static void setStorage(StorageType storage) { + Storage = storage; + } + + public static void nameCheck(Player player) { + switch (Storage) { + case MYSQL: + MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); + break; + case YML: + + break; + case SQLITE: + default: + SQLITE.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); + break; + } + } + + public static void setSlot(Player player, Integer slot) { + switch (Storage) { + case MYSQL: + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';"); + break; + case YML: + YML.setGuiitemSlot(player, slot); + break; + case SQLITE: + default: + SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "','" + slot + "') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';"); + break; + } + } + + public static void setItemStatusTrue(Player player) { + Events.useItemHashMap.replace(player, true); + switch (Storage) { + case MYSQL: + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';"); + break; + case YML: + YML.setGuiitemOn(player); + break; + case SQLITE: + default: + SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Status` = '1';"); + break; + } + } + + public static void setItemStatusFalse(Player player) { + Events.useItemHashMap.replace(player, false); + switch (Storage) { + case MYSQL: + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';"); + break; + case YML: + YML.setGuiitemOff(player); + break; + case SQLITE: + default: + SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "', '0') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Status` = '0';"); + break; + } + } + + public static Boolean selectItemStatus(Player player) { + switch (Storage) { + case MYSQL: + String result = MySQL.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';"); + if (result == null || result.equals("")) { + return true; + } + return result.equals("1"); + case YML: + return YML.selectGuiitemOn(player); + case SQLITE: + default: + String result2 = SQLITE.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';"); + if (result2 == null || result2.equals("")) { + return true; + } + return result2.equals("1"); + } + } + + public static Integer selectSlot(Player player) { + switch (Storage) { + case MYSQL: + String result = MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';"); + if (result == null || result.equals("") || result.equals("null")) { + return null; + } + return Integer.parseInt(result); + case YML: + return YML.selectSlot(player); + case SQLITE: + default: + String result2 = SQLITE.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';"); + if (result2 == null || result2.equals("") || result2.equals("null")) { + return null; + } + return Integer.parseInt(result2); + } + } + +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java deleted file mode 100644 index 25e890a..0000000 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java +++ /dev/null @@ -1,69 +0,0 @@ -package de.jatitv.commandguiv2.Spigot.system.database; - -import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; -import org.bukkit.entity.Player; - -public class Select_Database { - - public static void nameCheck(Player player) { - if (SelectConfig.Storage.equals("MYSQL")) { - MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); - } - } - - public static void setSlot(Player player, Integer slot) { - if (SelectConfig.Storage.equals("MYSQL")) { - MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() - + "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';"); - } else { - YML.setGuiitemSlot(player, slot); - } - } - - public static void setItemStatusTrue(Player player) { - if (SelectConfig.Storage.equals("MYSQL")) { - MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() - + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';"); - } else { - YML.setGuiitemOn(player); - } - } - - public static void setItemStatusFalse(Player player) { - if (SelectConfig.Storage.equals("MYSQL")) { - - MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() - + "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';"); - } else { - YML.setGuiitemOff(player); - } - } - - public static Boolean selectItemStatus(Player player) { - if (SelectConfig.Storage.equals("MYSQL")) { - if (MySQL.count("SELECT * FROM `gui-item` WHERE BINARY UUID='" + player.getUniqueId() + "'") > 0) { - if (MySQL.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';").equals("1")) { - return true; - } else return false; - } else { - return true; - } - } else { - return YML.selectGuiitemOn(player); - } - } - - public static Integer selectSlot(Player player) { - if (SelectConfig.Storage.equals("MYSQL")) { - if (MySQL.count("SELECT * FROM `gui-item` WHERE BINARY UUID='" + player.getUniqueId() + "'") > 0) { - if (MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';") != "null") { - return Integer.valueOf(MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';")); - } else return null; - } else return null; - - } else { - return YML.selectSlot(player); - } - } - -} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java new file mode 100644 index 0000000..ee77759 --- /dev/null +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java @@ -0,0 +1,7 @@ +package de.jatitv.commandguiv2.Spigot.system.database; + +public enum StorageType { + MYSQL, + SQLITE, + YML +} diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java index 94a49e4..bbfe10a 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java @@ -11,7 +11,7 @@ import java.io.IOException; public class YML { - private static Plugin plugin = Main.plugin; + private static final Plugin plugin = Main.plugin; public static File storage = new File(Main.getPath(), "Storage/gui-item.yml"); public static YamlConfiguration yamlConfigurationStorage = YamlConfiguration.loadConfiguration(storage); diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java index a6f2674..787f243 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java @@ -1,6 +1,7 @@ package de.jatitv.commandguiv2; public class Util { + private static Integer configVersion = 5; private static double requiredT2CodeLibVersion = 10.3; private static String Prefix = "§8[§4C§9GUI§8]"; private static Integer SpigotID = 90671; @@ -31,4 +32,8 @@ public class Util { public static String getDiscord() { return Discord; } + + public static Integer getConfigVersion() { + return configVersion; + } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java index 30dd7ea..2d8a4e7 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java @@ -1,13 +1,15 @@ package de.jatitv.commandguiv2.api; import de.jatitv.commandguiv2.Spigot.Listener.ItemChange; +import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands; import de.jatitv.commandguiv2.Spigot.cmdManagement.Help; -import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate; +import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; -import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; +import de.jatitv.commandguiv2.Spigot.system.Permissions; +import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -42,21 +44,21 @@ public class CGuiAPI { } public static Boolean selectPlayerItemEnable(Player player) { - return Select_Database.selectItemStatus(player); + return Events.useItemHashMap.get(player); } public static Integer selectPlayerItemSlot(Player player) { - return Select_Database.selectSlot(player); + return Events.useItemSlotHashMap.get(player); } public static void setPlayerItemEnable(Player player, Boolean value) { if (value) { - Select_Database.setItemStatusTrue(player); - } else Select_Database.setItemStatusFalse(player); + SelectDatabase.setItemStatusTrue(player); + } else SelectDatabase.setItemStatusFalse(player); } public static void setPlayerItemSlot(Player player, Integer value) { - Select_Database.setSlot(player, value); + SelectDatabase.setSlot(player, value); } public static void openDefaultGUI(Player player) { @@ -72,26 +74,24 @@ public class CGuiAPI { } public static void sendPluginInfo(CommandSender sender) { - if (sender.hasPermission("commandgui.command.info")) { + if (sender.hasPermission(Permissions.info)) { Commands.info(sender); } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info")); + .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info)); } public static void createDefaultGUI(CommandSender sender) { - if (sender.hasPermission("commandgui.admin")) { - DefaultGUICreate.configCreate(); + if (sender.hasPermission(Permissions.admin)) { + CreateGUI.configCreate(); sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml")); } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); + .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin)); } public static void reload(CommandSender sender) { - if (sender.hasPermission("commandgui.admin")) { + if (sender.hasPermission(Permissions.admin)) { Commands.reload(sender); } else sender.sendMessage(SelectMessages.NoPermissionForCommand - .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); + .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin)); } - - } diff --git a/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF b/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF index 7f041a7..c51a347 100644 --- a/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF +++ b/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF @@ -1,5 +1,4 @@ Manifest-Version: 1.0 -Main-Class: Class-Path: PlugmanGUI-3.0.jar spigot-1.8r3.jar spigot-1.9r1.jar spigot- 1.15r1.jar T2CodeLib-10.3.jar spigot-1.18r1.jar bungee-1615.jar spigot- 1.9r2.jar spigot-1.16r3.jar spigot-1.14r1.jar slf4j-api-1.7.25.jar Luck diff --git a/CommandGUI V2/src/main/resources/plugin.yml b/CommandGUI V2/src/main/resources/plugin.yml index 90ebe99..3459066 100644 --- a/CommandGUI V2/src/main/resources/plugin.yml +++ b/CommandGUI V2/src/main/resources/plugin.yml @@ -19,56 +19,54 @@ commands: commandguihelp: description: CommandGUI Help aliases: [cguihelp, guihelp] - # commandguiadmin: - # aliases: [cguiadmin, cguia] commandgui-item: aliases: [gui-item] -permissions: - commandgui.admin: - description: All permissions from CommandGUI - default: op - children: - commandgui.updatemsg: true - commandgui.command: true - commandgui.get.guiitem.at.login: true - commandgui.useitem: true - commandgui.useitem.toggle: true - commandgui.bypass: true - commandgui.command.info: true - commandgui.command.give: true - - commandgui.player: - description: All permissions from CommandGUI - default: op - children: - commandgui.command: true - commandgui.get.guiitem.at.login: true - commandgui.useitem: true - commandgui.useitem.toggle: true - - commandgui.updatemsg: - description: Players with this permission get the update message when joining if an update is available - default: op - commandgui.command: - description: Required permission to open GUIs via command - default: op - commandgui.get.guiitem.at.login: - description: Only players with this permission will receive the GUI item - default: op - commandgui.useitem: - description: Required permission to use the GUI Item - default: op - commandgui.useitem.toggle: - description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true) - default: op - commandgui.bypass: - description: Bypass to open disabled GUIs - default: op - commandgui.command.info: - description: Permission to view CommandGUI info - default: not op - commandgui.command.give: - description: Kommend in V2.1.0 - default: op \ No newline at end of file +#permissions: +# commandgui.admin: +# description: All permissions from CommandGUI +# default: op +# children: +# commandgui.command: true +# commandgui.get.guiitem.at.login: true +# commandgui.useitem: true +# commandgui.useitem.toggle: true +# commandgui.updatemsg: true +# commandgui.bypass: true +# commandgui.command.info: true +# commandgui.command.give: true +# +# commandgui.player: +# description: All permissions from CommandGUI +# default: op +# children: +# commandgui.command: true +# commandgui.get.guiitem.at.login: true +# commandgui.useitem: true +# commandgui.useitem.toggle: true +# +# commandgui.updatemsg: +# description: Players with this permission get the update message when joining if an update is available +# default: op +# commandgui.command: +# description: Required permission to open GUIs via command +# default: op +# commandgui.get.guiitem.at.login: +# description: Only players with this permission will receive the GUI item +# default: op +# commandgui.useitem: +# description: Required permission to use the GUI Item +# default: op +# commandgui.useitem.toggle: +# description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true) +# default: op +# commandgui.bypass: +# description: Bypass to open disabled GUIs +# default: op +# commandgui.command.info: +# description: Permission to view CommandGUI info +# default: not op +# commandgui.command.give: +# description: Kommend in V2.1.0 +# default: op \ No newline at end of file diff --git a/Config Update V5/new/Functions/SupportDiscord.yml b/Config Update V5/new/Functions/SupportDiscord.yml new file mode 100644 index 0000000..5b81465 --- /dev/null +++ b/Config Update V5/new/Functions/SupportDiscord.yml @@ -0,0 +1,74 @@ +Slot: + Function: + Item: + Empty: false + Amount: 1 + PlayerHead: + Enable: true + Base64: + Enable: true + Base64Value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19 + PlayerWhoHasOpenedTheGUI: false + PlayerName: '' + Material: '' + Name: '&3Support Discord' + Lore: + - '&8-----------------' + - '&bIf you need help setting up the plugin,' + - '&bfeel free to contact me on the Suport Discord.' + - '&8-----------------' + - '&eIf you find any errors or bugs,' + - '&eplease contact me so I can fix them.' + - '&8-----------------' + - '&5Discord: §7http://dc.t2code.net' + CustomSound: + Enable: false + NoSound: false + Sound: '' + Cost: + Enable: false + Price: 0.0 + Command: + Enable: false + BungeeCommand: false + CommandAsConsole: false + Command: [] + ServerChange: + Enable: false + Server: '' + OpenGUI: + Enable: false + GUI: '' + Toggle: + Permission: + Enable: false + Permission: '' + UseItem: + Enable: false + Message: + Enable: true + Message: + - '&6You can find more information on Discord: &ehttp://dc.t2code.net' + SetConfig: + Enable: false + File: + Path: '' + Option: + Path: '' + Premat: String + Value: + LeftClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + RightClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + PluginReload: + Enable: false + Command: '' \ No newline at end of file diff --git a/Config Update V5/new/Functions/UseItem.yml b/Config Update V5/new/Functions/UseItem.yml new file mode 100644 index 0000000..40521f1 --- /dev/null +++ b/Config Update V5/new/Functions/UseItem.yml @@ -0,0 +1,69 @@ +Slot: + Functions: + Item: + Empty: false + Amount: 1 + PlayerHead: + Enable: false + Base64: + Enable: false + Base64Value: '' + PlayerWhoHasOpenedTheGUI: false + PlayerName: '' + Material: '' + Name: '&6Toggle UseItem' + Lore: + - '&bYou currently have the UseItem set to: %commandgui_useitem%' + CustomSound: + Enable: false + NoSound: false + Sound: '' + Cost: + Enable: false + Price: 0.0 + Command: + Enable: false + BungeeCommand: false + CommandAsConsole: false + Command: [] + ServerChange: + Enable: false + Server: '' + OpenGUI: + Enable: false + GUI: '' + Toggle: + Permission: + Enable: false + Permission: '' + UseItem: + Enable: true + Message: + Enable: true + Message: + - '&bYour UseItem was set to: %commandgui_useitem%&b.' + Permission: + Required: false + SetConfig: + Enable: false + File: + Path: '' + Option: + Path: '' + Premat: String + Value: + LeftClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + RightClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + PluginReload: + Enable: false + Command: '' diff --git a/Config Update V5/new/GUIs/default.yml b/Config Update V5/new/GUIs/default.yml new file mode 100644 index 0000000..9e4a6e7 --- /dev/null +++ b/Config Update V5/new/GUIs/default.yml @@ -0,0 +1,28 @@ +GUI: + Enable: true + Lines: 1 + Name: '&5default &9GUI' + FillItem: + Enable: true + Item: BLACK_STAINED_GLASS_PANE +Command: + Alias: true + Permission: + Required: true +Slots: + SupportDiscord: + Slot: 4 + Enable: true + Function: SupportDiscord + Permission: + Required: false + See: '' + Use: '' + UseItem: + Slot: 6 + Enable: true + Function: UseItem + Permission: + Required: false + See: '' + Use: '' diff --git a/Config Update V5/new/config.yml b/Config Update V5/new/config.yml new file mode 100644 index 0000000..5ef9e45 --- /dev/null +++ b/Config Update V5/new/config.yml @@ -0,0 +1,121 @@ +ConfigVersion: 4 +Plugin: + UpdateCheckOnJoin: true + Debug: false + HelpAlias: true + language: english + Currency: $ + DefaultGUI: default +Storage: + Type: YML + MySQL: + IP: localhost + Port: 3306 + Database: database + User: root + Password: password + SSL: false +BungeeCord: + Enable: false + ThisServer: server +UseItem: + Enable: true + AllowToggle: true + AllowSetSlot: true + BlockMoveAndDrop: true + OpenGUI: default + Permission: + NeededToUse: true + KeepAtCommandClear: true + InventorySlot: + Slot: 1 + SlotEnforce: false + FreeSlot: false + Item: + Material: paper + PlayerHead: + Enable: false + Base64: + Enable: false + Base64Value: '' + PlayerWhoHasOpenedTheGUI: false + Playername: '' + Name: '&bDefault &6GUI' + Lore: + - '&eThis is an example GUI' + Join: + GiveOnEveryJoin: true + GiveOnlyOnFirstJoin: false + Cursor: + ToGUIItem: + OnLogin: + Enable: true + Spigot: + OnOnlyFirstLogin: true + Bungee: + OnServerChange: false +Advanced: + UseItem: + GameMode: + Change: + Enable: true + DelayInTicks: 1 + Protection: + Enable: false + RemoveItemWhenItIsDisabled: false + Mode: blacklist + List: + - CREATIVE + - Spectator + World: + Change: + Enable: true + DelayInTicks: 1 + Protection: + Enable: false + RemoveItemWhenItIsDisabled: false + Mode: blacklist + List: + - World1 + - World2 +Toggle: + Items: + OnOrYes: + Item: + Base64: + Enable: false + Base64Value: '' + Material: GREEN_WOOL + OffOrNo: + Item: + Base64: + Enable: false + Base64Value: '' + Material: RED_WOOL + Permission: + Commands: + 'True': luckperms user [player] permission set [perm] true + 'False': luckperms user [player] permission set [perm] false +Placeholder: + 'True': '&2true' + 'False': '&4false' +Sound: + Enable: true + OpenInventory: + Enable: true + Sound: BLOCK_CHEST_OPEN + Click: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HAT + NoMoney: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP + NoInventorySpace: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP + Give: + Enable: true + Sound: ENTITY_PLAYER_LEVELUP + PlayerNotFound: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP diff --git a/Config Update V5/new/languages/english_messages.yml b/Config Update V5/new/languages/english_messages.yml new file mode 100644 index 0000000..7f03281 --- /dev/null +++ b/Config Update V5/new/languages/english_messages.yml @@ -0,0 +1,55 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Economy not set up!' + SoundNotFound: '[prefix] &4The sound &6[sound] &4was not found! Please check the + settings.' + OnlyForPlayer: '[prefix] &cThis command is for players only!' + DefaultGUI: + create: '[prefix] &2DefaultGUI was created. You can find it in the directory: + &e[directory]&2!' + Reload: + Start: '[prefix] &6Plugin is reloaded...' + End: '[prefix] &2Plugin was successfully reloaded.' +NoPermission: + ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!' + ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!' + ForUseItem: '[prefix] &cYou lack the permission &6[perm] &cto use the item for the + GUI: &6[gui].' + ForItem: '[prefix] &cFor &b[item] &cyou lack the permission &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2You have activated the GUI item.' + UseItem_OFF: '[prefix] &2You have disabled the GUI item.' + Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.' + SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!' + SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!' + ItemSlot_wrongValue: '[prefix] &cThe specified slot must be between 1 and 9!' + DisabledInGameMode: '[prefix] &cThe UseItem is disabled in this GameMode!' + DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!' +Cost: + Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.' + No_money: '[prefix] &cYou don''t have enough money!' + NoInventorySpace: '[prefix] &cYou have no room in your inventory!' +ServerChange: + onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.' +GUI: + GUInotFound: '[prefix] &cThe GUI chosen by the does not exist.' + GUIisDisabled: '[prefix] &cThe GUI [gui] &cis currently Disabled!' +Give: + Sender: '[prefix] &2You have given &6[player] &2an [item] &2!' + Receiver: '[prefix] &2You got &2, [item] &2from &6[sender]!' +Player: + PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!' + PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.' + Info: '&8''''&b/commandgui admin info&8'''' &eCall the info from &4Command&9GUI + &e.' + Open: '&8''''&b/commandgui [gui]&8'''' &eOpen the GUI: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGive a player the GUI item.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eCreate a default + GUI &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for + you.' diff --git a/Config Update V5/new/languages/german_messages.yml b/Config Update V5/new/languages/german_messages.yml new file mode 100644 index 0000000..5831fad --- /dev/null +++ b/Config Update V5/new/languages/german_messages.yml @@ -0,0 +1,58 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Economy nicht eingerichtet!' + SoundNotFound: '[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe + die Einstellungen.' + OnlyForPlayer: '[prefix] &cDieser Command ist nur f[ue]r Spieler!' + DefaultGUI: + create: '[prefix] &2DefaultGUI wurde erstellt. Du findst sie im Verzeichnis: &e[directory]&2!' + Reload: + Start: '[prefix] &6Plugin wird neu geladen...' + End: '[prefix] &2Plugin wurde erfolgreich neu geladen.' +NoPermission: + ForCommandGUI: '[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!' + ForCommand: '[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!' + ForUseItem: '[prefix] &cDir fehlt die Permission &6[perm] &cum das Item f[ue]r die + GUI: &6[gui] &cnutzen zu k[oe]nnen.' + ForItem: '[prefix] &cF[ue]r &b[item] &cfehlt dir die Permission &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2Du hast das GUI-Item aktiviert.' + UseItem_OFF: '[prefix] &2Du hast das GUI-Item deaktiviert.' + Change_Slot: '[prefix] &2Du hast das GUI-Item auf Slot &6[slot] &2umgestellt.' + SlotNotEmpty: '[prefix] &6Der Slot §e[slot] §6ist derzeit belegt!.' + SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!' + ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9 + befinden!' + DisabledInGameMode: '[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!' + DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!' +Cost: + Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.' + No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!' + NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!' +ServerChange: + onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.' +GUI: + GUInotFound: '[prefix] &cDie von die gew[ae]hlte GUI gibt es nicht.' + GUIisDisabled: '[prefix] &cDie GUI [gui] &cist derzeit Deaktiviert!' +Give: + Sender: '[prefix] &2Du hast &6[player] &2ein [item] &2gegeben!' + Receiver: '[prefix] &2Du hast von &6[sender] &2, [item] &2bekommen!' +Player: + PlayerNotFond: '[prefix] &cDer Spieler &6[player] &cwurde nicht gefunden oder ist + nicht Online!' + PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem + Inventar!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.' + Info: '&8''''&b/commandgui admin info&8'''' &eRufe die Infos von &4Command&9GUI + &eauf.' + Open: '&8''''&b/commandgui [gui]&8'''' &e[OE]ffne die GUI: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGebe einem Spieler das + GUI-Item.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLasse eine + default GUI erstellen &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem + für Sie einstellen.' diff --git a/Config Update V5/new/languages/norwegian_messages.yml b/Config Update V5/new/languages/norwegian_messages.yml new file mode 100644 index 0000000..eb44615 --- /dev/null +++ b/Config Update V5/new/languages/norwegian_messages.yml @@ -0,0 +1,54 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Økonomi har ikke blitt satt opp!' + SoundNotFound: '[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk + innstillingene.' + OnlyForPlayer: '[prefix] &cDenne kommandoen er for spillere kun!' + DefaultGUI: + create: '[prefix] &2DefaultGUI har blitt laget. Du kan finne den i mappen: &e[directory]&2!' + Reload: + Start: '[prefix] &6Pluginet blir relastet...' + End: '[prefix] &2Pluginet har blitt lastet inn på nytt.' +NoPermission: + ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!' + ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!' + ForUseItem: '[prefix] &cDu mangler tillatelsen &6[perm] &cfor å bruke gjenstanden + i GUI: &6[gui].' + ForItem: '[prefix] &cFor &b[item] &cmangler du tillatelsen &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2You have activated the GUI item.' + UseItem_OFF: '[prefix] &2You have disabled the GUI item.' + Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.' + SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!' + SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!' + ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!' + DisabledInGameMode: '[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!' + DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!' +Cost: + Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.' + No_money: '[prefix] &cDu har ikke nok penger!' + NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!' +ServerChange: + onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.' +GUI: + GUInotFound: '[prefix] &cGUIen som ble spesifisert finnes ikke.' + GUIisDisabled: '[prefix] &cGUIen [gui] &cer slått av for øyeblikket!' +Give: + Sender: '[prefix] &2Du har gitt &6[player] &2en [item]&2!' + Receiver: '[prefix] &2Du fikk &2, [item] &2fra &6[sender]!' +Player: + PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke + pålogget!' + PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.' + Info: '&8''''&b/commandgui admin info&8'''' &eKall informasjon fra &4Command&9GUI&e.' + Open: '&8''''&b/commandgui [gui]&8'''' &eÅpne GUIen: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGi en spiller GUI gjenstanden.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLag en normalverdi + GUI &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for + deg.' diff --git a/Config Update V5/old/GUIs/default.yml b/Config Update V5/old/GUIs/default.yml new file mode 100644 index 0000000..9095465 --- /dev/null +++ b/Config Update V5/old/GUIs/default.yml @@ -0,0 +1,159 @@ +GUI: + Enable: true + Lines: 1 + Name: '&5default &9GUI' + FillItem: + Enable: true + Item: BLACK_STAINED_GLASS_PANE +Command: + Alias: true + Permission: + Required: true +Slots: + SupportDiscord: + Slot: 4 + Enable: true + Item: + Empty: false + Amount: 1 + PlayerHead: + Enable: true + Base64: + Enable: true + Base64Value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19 + PlayerWhoHasOpenedTheGUI: false + PlayerName: '' + Material: '' + Name: '&3Support Discord' + Lore: + - '&8-----------------' + - '&bIf you need help setting up the plugin,' + - '&bfeel free to contact me on the Suport Discord.' + - '&8-----------------' + - '&eIf you find any errors or bugs,' + - '&eplease contact me so I can fix them.' + - '&8-----------------' + - '&5Discord: §7http://dc.t2code.net' + CustomSound: + Enable: false + NoSound: false + Sound: '' + Cost: + Enable: false + Price: 0.0 + Command: + Enable: false + BungeeCommand: false + CommandAsConsole: false + Command: [] + ServerChange: + Enable: false + Server: '' + OpenGUI: + Enable: false + GUI: '' + Toggle: + Permission: + Enable: false + Permission: '' + UseItem: + Enable: false + Message: + Enable: true + Message: + - '&6You can find more information on Discord: &ehttp://dc.t2code.net' + Permission: + Required: false + SetConfig: + Enable: false + File: + Path: '' + Option: + Path: '' + Premat: String + Value: + LeftClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + RightClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + PluginReload: + Enable: false + Command: '' + UseItem: + Slot: 6 + Enable: true + Item: + Empty: false + Amount: 1 + PlayerHead: + Enable: false + Base64: + Enable: false + Base64Value: '' + PlayerWhoHasOpenedTheGUI: false + PlayerName: '' + Material: '' + Name: '&6Toggle UseItem' + Lore: + - '&bYou currently have the UseItem set to: %commandgui_useitem%' + CustomSound: + Enable: false + NoSound: false + Sound: '' + Cost: + Enable: false + Price: 0.0 + Command: + Enable: false + BungeeCommand: false + CommandAsConsole: false + Command: [] + ServerChange: + Enable: false + Server: '' + OpenGUI: + Enable: false + GUI: '' + Toggle: + Permission: + Enable: false + Permission: '' + UseItem: + Enable: true + Message: + Enable: true + Message: + - '&bYour UseItem was set to: %commandgui_useitem%&b.' + Permission: + Required: false + SetConfig: + Enable: false + File: + Path: '' + Option: + Path: '' + Premat: String + Value: + LeftClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + RightClick: + String: '' + Boolean: false + Integer: 0 + Double: 0.0 + List: [] + PluginReload: + Enable: false + Command: '' diff --git a/Config Update V5/old/config.yml b/Config Update V5/old/config.yml new file mode 100644 index 0000000..5ef9e45 --- /dev/null +++ b/Config Update V5/old/config.yml @@ -0,0 +1,121 @@ +ConfigVersion: 4 +Plugin: + UpdateCheckOnJoin: true + Debug: false + HelpAlias: true + language: english + Currency: $ + DefaultGUI: default +Storage: + Type: YML + MySQL: + IP: localhost + Port: 3306 + Database: database + User: root + Password: password + SSL: false +BungeeCord: + Enable: false + ThisServer: server +UseItem: + Enable: true + AllowToggle: true + AllowSetSlot: true + BlockMoveAndDrop: true + OpenGUI: default + Permission: + NeededToUse: true + KeepAtCommandClear: true + InventorySlot: + Slot: 1 + SlotEnforce: false + FreeSlot: false + Item: + Material: paper + PlayerHead: + Enable: false + Base64: + Enable: false + Base64Value: '' + PlayerWhoHasOpenedTheGUI: false + Playername: '' + Name: '&bDefault &6GUI' + Lore: + - '&eThis is an example GUI' + Join: + GiveOnEveryJoin: true + GiveOnlyOnFirstJoin: false + Cursor: + ToGUIItem: + OnLogin: + Enable: true + Spigot: + OnOnlyFirstLogin: true + Bungee: + OnServerChange: false +Advanced: + UseItem: + GameMode: + Change: + Enable: true + DelayInTicks: 1 + Protection: + Enable: false + RemoveItemWhenItIsDisabled: false + Mode: blacklist + List: + - CREATIVE + - Spectator + World: + Change: + Enable: true + DelayInTicks: 1 + Protection: + Enable: false + RemoveItemWhenItIsDisabled: false + Mode: blacklist + List: + - World1 + - World2 +Toggle: + Items: + OnOrYes: + Item: + Base64: + Enable: false + Base64Value: '' + Material: GREEN_WOOL + OffOrNo: + Item: + Base64: + Enable: false + Base64Value: '' + Material: RED_WOOL + Permission: + Commands: + 'True': luckperms user [player] permission set [perm] true + 'False': luckperms user [player] permission set [perm] false +Placeholder: + 'True': '&2true' + 'False': '&4false' +Sound: + Enable: true + OpenInventory: + Enable: true + Sound: BLOCK_CHEST_OPEN + Click: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HAT + NoMoney: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP + NoInventorySpace: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP + Give: + Enable: true + Sound: ENTITY_PLAYER_LEVELUP + PlayerNotFound: + Enable: true + Sound: BLOCK_NOTE_BLOCK_HARP diff --git a/Config Update V5/old/languages/english_messages.yml b/Config Update V5/old/languages/english_messages.yml new file mode 100644 index 0000000..7f03281 --- /dev/null +++ b/Config Update V5/old/languages/english_messages.yml @@ -0,0 +1,55 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Economy not set up!' + SoundNotFound: '[prefix] &4The sound &6[sound] &4was not found! Please check the + settings.' + OnlyForPlayer: '[prefix] &cThis command is for players only!' + DefaultGUI: + create: '[prefix] &2DefaultGUI was created. You can find it in the directory: + &e[directory]&2!' + Reload: + Start: '[prefix] &6Plugin is reloaded...' + End: '[prefix] &2Plugin was successfully reloaded.' +NoPermission: + ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!' + ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!' + ForUseItem: '[prefix] &cYou lack the permission &6[perm] &cto use the item for the + GUI: &6[gui].' + ForItem: '[prefix] &cFor &b[item] &cyou lack the permission &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2You have activated the GUI item.' + UseItem_OFF: '[prefix] &2You have disabled the GUI item.' + Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.' + SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!' + SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!' + ItemSlot_wrongValue: '[prefix] &cThe specified slot must be between 1 and 9!' + DisabledInGameMode: '[prefix] &cThe UseItem is disabled in this GameMode!' + DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!' +Cost: + Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.' + No_money: '[prefix] &cYou don''t have enough money!' + NoInventorySpace: '[prefix] &cYou have no room in your inventory!' +ServerChange: + onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.' +GUI: + GUInotFound: '[prefix] &cThe GUI chosen by the does not exist.' + GUIisDisabled: '[prefix] &cThe GUI [gui] &cis currently Disabled!' +Give: + Sender: '[prefix] &2You have given &6[player] &2an [item] &2!' + Receiver: '[prefix] &2You got &2, [item] &2from &6[sender]!' +Player: + PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!' + PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.' + Info: '&8''''&b/commandgui admin info&8'''' &eCall the info from &4Command&9GUI + &e.' + Open: '&8''''&b/commandgui [gui]&8'''' &eOpen the GUI: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGive a player the GUI item.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eCreate a default + GUI &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for + you.' diff --git a/Config Update V5/old/languages/german_messages.yml b/Config Update V5/old/languages/german_messages.yml new file mode 100644 index 0000000..5831fad --- /dev/null +++ b/Config Update V5/old/languages/german_messages.yml @@ -0,0 +1,58 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Economy nicht eingerichtet!' + SoundNotFound: '[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe + die Einstellungen.' + OnlyForPlayer: '[prefix] &cDieser Command ist nur f[ue]r Spieler!' + DefaultGUI: + create: '[prefix] &2DefaultGUI wurde erstellt. Du findst sie im Verzeichnis: &e[directory]&2!' + Reload: + Start: '[prefix] &6Plugin wird neu geladen...' + End: '[prefix] &2Plugin wurde erfolgreich neu geladen.' +NoPermission: + ForCommandGUI: '[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!' + ForCommand: '[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!' + ForUseItem: '[prefix] &cDir fehlt die Permission &6[perm] &cum das Item f[ue]r die + GUI: &6[gui] &cnutzen zu k[oe]nnen.' + ForItem: '[prefix] &cF[ue]r &b[item] &cfehlt dir die Permission &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2Du hast das GUI-Item aktiviert.' + UseItem_OFF: '[prefix] &2Du hast das GUI-Item deaktiviert.' + Change_Slot: '[prefix] &2Du hast das GUI-Item auf Slot &6[slot] &2umgestellt.' + SlotNotEmpty: '[prefix] &6Der Slot §e[slot] §6ist derzeit belegt!.' + SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!' + ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9 + befinden!' + DisabledInGameMode: '[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!' + DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!' +Cost: + Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.' + No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!' + NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!' +ServerChange: + onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.' +GUI: + GUInotFound: '[prefix] &cDie von die gew[ae]hlte GUI gibt es nicht.' + GUIisDisabled: '[prefix] &cDie GUI [gui] &cist derzeit Deaktiviert!' +Give: + Sender: '[prefix] &2Du hast &6[player] &2ein [item] &2gegeben!' + Receiver: '[prefix] &2Du hast von &6[sender] &2, [item] &2bekommen!' +Player: + PlayerNotFond: '[prefix] &cDer Spieler &6[player] &cwurde nicht gefunden oder ist + nicht Online!' + PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem + Inventar!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.' + Info: '&8''''&b/commandgui admin info&8'''' &eRufe die Infos von &4Command&9GUI + &eauf.' + Open: '&8''''&b/commandgui [gui]&8'''' &e[OE]ffne die GUI: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGebe einem Spieler das + GUI-Item.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLasse eine + default GUI erstellen &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem + für Sie einstellen.' diff --git a/Config Update V5/old/languages/norwegian_messages.yml b/Config Update V5/old/languages/norwegian_messages.yml new file mode 100644 index 0000000..eb44615 --- /dev/null +++ b/Config Update V5/old/languages/norwegian_messages.yml @@ -0,0 +1,54 @@ +Plugin: + VaultNotSetUp: '[prefix] &4Vault / Økonomi har ikke blitt satt opp!' + SoundNotFound: '[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk + innstillingene.' + OnlyForPlayer: '[prefix] &cDenne kommandoen er for spillere kun!' + DefaultGUI: + create: '[prefix] &2DefaultGUI har blitt laget. Du kan finne den i mappen: &e[directory]&2!' + Reload: + Start: '[prefix] &6Pluginet blir relastet...' + End: '[prefix] &2Pluginet har blitt lastet inn på nytt.' +NoPermission: + ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!' + ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!' + ForUseItem: '[prefix] &cDu mangler tillatelsen &6[perm] &cfor å bruke gjenstanden + i GUI: &6[gui].' + ForItem: '[prefix] &cFor &b[item] &cmangler du tillatelsen &6[perm]&c!' +UseItem: + UseItem_ON: '[prefix] &2You have activated the GUI item.' + UseItem_OFF: '[prefix] &2You have disabled the GUI item.' + Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.' + SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!' + SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!' + ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!' + DisabledInGameMode: '[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!' + DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!' +Cost: + Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.' + No_money: '[prefix] &cDu har ikke nok penger!' + NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!' +ServerChange: + onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.' +GUI: + GUInotFound: '[prefix] &cGUIen som ble spesifisert finnes ikke.' + GUIisDisabled: '[prefix] &cGUIen [gui] &cer slått av for øyeblikket!' +Give: + Sender: '[prefix] &2Du har gitt &6[player] &2en [item]&2!' + Receiver: '[prefix] &2Du fikk &2, [item] &2fra &6[sender]!' +Player: + PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke + pålogget!' + PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!' +Help: + CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.' + Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.' + Info: '&8''''&b/commandgui admin info&8'''' &eKall informasjon fra &4Command&9GUI&e.' + Open: '&8''''&b/commandgui [gui]&8'''' &eÅpne GUIen: &6[guiname]&e.' + Give: '&8''''&b/commandgui admin give &7&8'''' &eGi en spiller GUI gjenstanden.' + CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLag en normalverdi + GUI &7([directory])&e.' + Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.' + UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.' + UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.' + UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for + deg.'