package net.t2code.commandguiv2.Spigot.database; import net.t2code.commandguiv2.Spigot.useItem.Events; import net.t2code.commandguiv2.Spigot.Main; import net.t2code.commandguiv2.Spigot.enums.StorageEnum; import org.bukkit.entity.Player; import java.sql.SQLException; public class SelectDatabase { private static StorageEnum Storage; public static StorageEnum getStorage() { return Storage; } public static void setStorage(StorageEnum storage) { Storage = storage; } public static void nameCheck(Player player) { switch (Storage) { case MYSQL: try { MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';"); } catch (SQLException e) { Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); e.printStackTrace(); } 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: 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) { Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); e.printStackTrace(); } 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.getName(), true); switch (Storage) { case MYSQL: 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) { Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); e.printStackTrace(); } 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.getName(), false); switch (Storage) { case MYSQL: 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) { Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]); e.printStackTrace(); } 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); } } }