diff --git a/CommandGUI V2/pom.xml b/CommandGUI V2/pom.xml index 9239f5e..9993a7a 100644 --- a/CommandGUI V2/pom.xml +++ b/CommandGUI V2/pom.xml @@ -6,7 +6,7 @@ net.t2code CommandGUI_V2 - 2.7.3 + 2.7.4 jar CommandGUI diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java index 774d01c..b896eb5 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java @@ -1,5 +1,7 @@ package de.jatitv.commandguiv2.Bungee; +import de.jatitv.commandguiv2.Spigot.objects.Obj_Select; +import de.jatitv.commandguiv2.Util; import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -33,6 +35,7 @@ public class BListener implements Listener { } } } catch (IOException e) { + Util.sendTryCatch(Obj_Select.class, e.getStackTrace()[0]); e.printStackTrace(); } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BMetrics.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BMetrics.java index 3fe31d4..0e6b508 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BMetrics.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BMetrics.java @@ -27,6 +27,9 @@ import java.util.logging.Level; import java.util.stream.Collectors; import java.util.zip.GZIPOutputStream; import javax.net.ssl.HttpsURLConnection; + +import de.jatitv.commandguiv2.Spigot.objects.Obj_Select; +import de.jatitv.commandguiv2.Util; import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.config.Configuration; import net.md_5.bungee.config.ConfigurationProvider; @@ -291,6 +294,7 @@ public class BMetrics { // Send the data sendData(data); } catch (Exception e) { + Util.sendTryCatch(Obj_Select.class, e.getStackTrace()[0]); // Something went wrong! :( if (logErrors) { errorLogger.accept("Could not submit bStats metrics data", e); 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 index ae4bad4..660fac6 100644 --- 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 @@ -50,42 +50,46 @@ public class GUIListener implements Listener { || (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) { + execute(e,slot,player, gui); + } + } + } + } - 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); - } + private static void execute(InventoryClickEvent e, Slot slot, Player player, Gui gui){ + Function function = Main.functionHashMap.get(slot.function); + if (e.getSlot() != slot.slot) return; + if (slot.permission && !player.hasPermission(slot.permissionToSee)) return; + if (slot.permission && !player.hasPermission(slot.permissionToUse)) { + player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name)) + .replace("[perm]", slot.permissionToUse)); + return; + } + 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) return; + 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(); } - } else { - execute(function, slot, player, e, gui); - } + }.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); } } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java index b8b7ce7..72e95a8 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java @@ -61,24 +61,6 @@ public class CmdExecuter_GUITab implements CommandExecutor, TabCompleter { } 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 == 3) { if (sender.hasPermission("commandgui.giveitem.other")) { 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 66e2111..6cb107b 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 @@ -70,7 +70,7 @@ public class Commands { 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!"); + send.warning(Main.plugin, "You have changed the storage medium! To apply this change, you must restart the server!"); } LanguagesCreate.langCreate(); 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 index 2c302b4..1b960e6 100644 --- 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 @@ -5,6 +5,7 @@ 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 de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; import org.bukkit.configuration.file.YamlConfiguration; @@ -28,63 +29,66 @@ public class Obj_Select { 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); - } + try { + 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); - 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 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); } - 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); + 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, + permSee.replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1)) + .replace("[slotname]", slotKey.toLowerCase()), + 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); - 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(); } + } catch (Exception e) { + Util.sendTryCatch(Obj_Select.class, e.getStackTrace()[0]); + e.printStackTrace(); } } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Debug.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Debug.java index 98f3fba..807ae1f 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Debug.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Debug.java @@ -15,10 +15,8 @@ import java.util.List; public class Debug { - private static Plugin plugin = Main.plugin; + private static final Plugin plugin = Main.plugin; public static void debugmsg() { - - send.debug(plugin,"§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); send.debug(plugin,"§3Bukkit Version: §e" + Bukkit.getBukkitVersion()); send.debug(plugin,"§3NMS Version: §e" + Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit.", "")); @@ -45,52 +43,5 @@ public class Debug { } } send.debug(plugin,"§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - - } - - public static void onDebugFile(CommandSender sender){ - String timeStamp = new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss").format(Calendar.getInstance().getTime()); - String timeStampcfg = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(Calendar.getInstance().getTime()); - send.sender(sender, Main.prefix + " §5Debug file was createt: §e" + Main.getPath() + "\\debug\\commandgui_debug_"+ timeStamp +".yml"); - File debug = new File(Main.getPath(), "debug/commandgui_debug_"+ timeStamp +".yml"); - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(debug); - - set("Time", timeStampcfg, yamlConfiguration); - set("CommandGUI.Version", String.valueOf(plugin.getDescription().getVersion()), yamlConfiguration); - - set("Server.Bukkit_Version", String.valueOf(Bukkit.getBukkitVersion()), yamlConfiguration); - set("Server.NMS_Version", String.valueOf(Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit.", "")), yamlConfiguration); - set("Server.Version", String.valueOf(Bukkit.getVersion()), yamlConfiguration); - set("Server.Java", String.valueOf(System.getProperty("java.version")), yamlConfiguration); - set("Server.Worlds", String.valueOf(Bukkit.getServer().getWorlds()), yamlConfiguration); - set("Server.Plugins", String.valueOf(Main.plugins) , yamlConfiguration); - - try { - yamlConfiguration.save(debug); - } catch (IOException e) { - send.warning(plugin,e.getMessage()); - e.printStackTrace(); - } - } - - 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); - } } } 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 664c0f4..5421356 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 @@ -20,6 +20,7 @@ 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 de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; @@ -177,15 +178,19 @@ public class Load { " `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`)" + + " 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) { + Util.sendTryCatch(Load.class, e.getStackTrace()[0]); e.printStackTrace(); } + try { + MySQL.query("ALTER TABLE `gui-item` ADD COLUMN `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;"); + } catch (SQLException e) { + } break; case YML: send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used."); @@ -194,17 +199,17 @@ public class Load { 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(); - } + 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/database/MySQL.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java index 27dd43b..c5175ea 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 @@ -3,7 +3,9 @@ package de.jatitv.commandguiv2.Spigot.system.database; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.Bukkit; import java.sql.*; import java.time.ZoneId; @@ -40,37 +42,47 @@ public class MySQL { send.console(Main.prefix + " §4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms"); } + if (SelectConfig.Debug || Main.version.contains("DEV")){ + try { + send.warning(Main.plugin, "MySQL DEBUG:"); + Connection con = ds.getConnection(); + DatabaseMetaData dbmd = con.getMetaData(); + Bukkit.getConsoleSender().sendMessage("Metadata of the database:"); + Bukkit.getConsoleSender().sendMessage("DB :" + dbmd.getDatabaseProductName()); + Bukkit.getConsoleSender().sendMessage("Version :" + dbmd.getDatabaseProductVersion()); + Bukkit.getConsoleSender().sendMessage("Driver :" + dbmd.getDriverName()); + Bukkit.getConsoleSender().sendMessage(" :" + dbmd.getDriverMajorVersion() + "." + dbmd.getDriverMinorVersion()); + Bukkit.getConsoleSender().sendMessage(" :" + dbmd.getDriverVersion()); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + //Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms"); } - public static void query(String query) { - - if (ds == null){ + public static void query(String query) throws SQLException { + if (ds == null) { return; } send.debug(Main.plugin, query); - try (Connection con = ds.getConnection()) { - Statement stmt = con.createStatement(); - stmt.execute(query); - stmt.close(); - } catch (SQLException e) { - System.err.println(e.getMessage()); - } + Connection con = ds.getConnection(); + Statement stmt = con.createStatement(); + stmt.execute(query); + stmt.close(); } - public static void query(ArrayList queryList) { - try (Connection con = ds.getConnection()) { - 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 void query(ArrayList queryList) throws SQLException { + Connection con = ds.getConnection(); + Statement stmt = con.createStatement(); + for (String query : queryList) { + send.debug(Main.plugin, query); + stmt.addBatch(query); } + stmt.executeBatch(); + stmt.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 index fdd4169..ef1558c 100644 --- 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 @@ -1,9 +1,15 @@ package de.jatitv.commandguiv2.Spigot.system.database; 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.Load; +import de.jatitv.commandguiv2.Util; +import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.entity.Player; +import java.sql.SQLException; + public class SelectDatabase { private static StorageType Storage; @@ -19,7 +25,12 @@ public class SelectDatabase { public static void nameCheck(Player player) { switch (Storage) { case MYSQL: - MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); + try { + MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); + } catch (SQLException e) { + Util.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); + e.printStackTrace(); + } break; case YML: @@ -34,8 +45,13 @@ public class SelectDatabase { 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 + "';"); + try { + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';"); + } catch (SQLException e) { + Util.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); + e.printStackTrace(); + } break; case YML: YML.setGuiitemSlot(player, slot); @@ -52,8 +68,13 @@ public class SelectDatabase { Events.useItemHashMap.replace(player.getName(), 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';"); + try { + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';"); + } catch (SQLException e) { + Util.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); + e.printStackTrace(); + } break; case YML: YML.setGuiitemOn(player); @@ -70,8 +91,13 @@ public class SelectDatabase { Events.useItemHashMap.replace(player.getName(), 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';"); + try { + MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() + + "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';"); + } catch (SQLException e) { + Util.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); + e.printStackTrace(); + } break; case YML: YML.setGuiitemOff(player); 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 bbfe10a..d627e9d 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 @@ -1,6 +1,8 @@ package de.jatitv.commandguiv2.Spigot.system.database; import de.jatitv.commandguiv2.Spigot.Main; +import de.jatitv.commandguiv2.Spigot.objects.Obj_Select; +import de.jatitv.commandguiv2.Util; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -45,6 +47,7 @@ public class YML { try { yamlConfigurationStorage.save(storage); } catch (IOException e) { + Util.sendTryCatch(Obj_Select.class, e.getStackTrace()[0]); e.printStackTrace(); } } 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 9a7fe11..06203ae 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java @@ -1,5 +1,8 @@ package de.jatitv.commandguiv2; +import de.jatitv.commandguiv2.Spigot.Main; +import net.t2code.lib.Spigot.Lib.messages.send; + public class Util { private static Integer configVersion = 5; private static double requiredT2CodeLibVersion = 11.8; @@ -36,4 +39,8 @@ public class Util { public static Integer getConfigVersion() { return configVersion; } + + public static void sendTryCatch(Class c, StackTraceElement line){ + send.error(Main.plugin, c.getName() + " Line: " + line.getLineNumber()); + } } diff --git a/CommandGUI V2/src/main/resources/plugin.yml b/CommandGUI V2/src/main/resources/plugin.yml index 3459066..0d29390 100644 --- a/CommandGUI V2/src/main/resources/plugin.yml +++ b/CommandGUI V2/src/main/resources/plugin.yml @@ -20,53 +20,4 @@ commands: description: CommandGUI Help aliases: [cguihelp, guihelp] commandgui-item: - aliases: [gui-item] - - -#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 + aliases: [gui-item] \ No newline at end of file