public static void setSpawn(PerkWorldSpawn spawn) { String query = "INSERT INTO `perks_spawn` (" + "`world`, `x`, `y`, `z`, `yaw`, `pitch`) VALUES (" + "'" + spawn.getSpawn().getWorld().getName() + "'," + "'" + spawn.getSpawn().getX() + "'," + "'" + spawn.getSpawn().getY() + "'," + "'" + spawn.getSpawn().getZ() + "'," + "'" + spawn.getSpawn().getYaw() + "'," + "'" + spawn.getSpawn().getPitch() + "'" + ");"; for (int i = 0; i < spawns.size(); ++i) { if (spawns.get(i).getWorld().getName().equalsIgnoreCase(spawn.getWorld().getName())) { query = "UPDATE `perks_spawn` SET " + "x='" + spawn.getSpawn().getX() + "', " + "y='" + spawn.getSpawn().getY() + "', " + "z='" + spawn.getSpawn().getZ() + "', " + "yaw='" + spawn.getSpawn().getYaw() + "', " + "pitch='" + spawn.getSpawn().getPitch() + "' " + "WHERE world='" + spawn.getWorld().getName() + "'" + ";"; spawns.remove(i); break; } } m_perksDB.query(query, true); spawns.add(spawn); PerkUtils.DebugConsole("Adding spawn for " + spawn.getWorld().getName()); }
public static void loadDatabases() { // create an the database m_perksDB = bDatabaseManager.createDatabase( PerkConfig.DATABASE.name, PerkUtils.plugin, DatabaseType.SQL); if (!m_perksDB.login( PerkConfig.DATABASE.ip, PerkConfig.DATABASE.user, PerkConfig.DATABASE.password, PerkConfig.DATABASE.port)) return; // see if a table called properties exist if (!m_perksDB.tableExists("perks_homes")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk homes table, now creating one."); String query = "CREATE TABLE perks_homes (" + "player VARCHAR(64)," + "world VARCHAR(128)," + "x INT," + "y INT," + "z INT," + "yaw INT," + "pitch INT" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // load all properties // select every property from the table String query = "SELECT * FROM perks_homes"; ResultSet result = m_perksDB.queryResult(query); if (result != null) { try { // while we have another result, read in the data while (result.next()) { String worldName = result.getString("world"); String playerName = result.getString("player"); int x = result.getInt("x"); int y = result.getInt("y"); int z = result.getInt("z"); int pitch = result.getInt("pitch"); int yaw = result.getInt("yaw"); World world = PerkUtils.plugin.getServer().getWorld(worldName); Location loc = new Location(world, x, y, z, yaw, pitch); tpLocation newHome = new tpLocation(); newHome.playername = playerName; newHome.loc = loc; homes.add(newHome); } } catch (SQLException e) { e.printStackTrace(); return; } m_perksDB.freeResult(result); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_build")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk homes builds, now creating one."); query = "CREATE TABLE perks_build (" + "player VARCHAR(64)," + "world VARCHAR(128)," + "x INT," + "y INT," + "z INT," + "yaw INT," + "pitch INT" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // select every property from the table query = "SELECT * FROM perks_build"; result = m_perksDB.queryResult(query); if (result != null) { try { // while we have another result, read in the data while (result.next()) { String worldName = result.getString("world"); String playerName = result.getString("player"); int x = result.getInt("x"); int y = result.getInt("y"); int z = result.getInt("z"); int pitch = result.getInt("pitch"); int yaw = result.getInt("yaw"); World world = PerkUtils.plugin.getServer().getWorld(worldName); Location loc = new Location(world, x, y, z, yaw, pitch); tpLocation newHome = new tpLocation(); newHome.playername = playerName; newHome.loc = loc; builds.add(newHome); } } catch (SQLException e) { e.printStackTrace(); return; } m_perksDB.freeResult(result); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_vanish")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk vanish databse, now creating one."); query = "CREATE TABLE perks_vanish (" + "player VARCHAR(64)" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } // see if a table called properties exist if (!m_perksDB.tableExists("perks_kit")) { // the table doesn't exist, so make one. PerkUtils.DebugConsole("Could not find perk kit databse, now creating one."); query = "CREATE TABLE perks_kit (" + "player VARCHAR(64)," + "kitname VARCHAR(64)," + "time LONG" + ");"; // to create a table we pass an SQL query. m_perksDB.query(query, true); } if (!m_perksDB.tableExists("perks_flying")) { PerkUtils.DebugConsole("Could not find flying table, creating one now"); query = "CREATE TABLE perks_flying (name VARCHAR(64));"; m_perksDB.query(query, true); } if (!m_perksDB.tableExists("perks_spawn")) { PerkUtils.DebugConsole("Could not find spawn table, creating one now"); query = "CREATE TABLE perks_spawn (" + "world VARCHAR(64)," + "x INT," + "y INT," + "z INT," + "yaw FLOAT," + "pitch FLOAT" + ");"; m_perksDB.query(query, true); } query = "SELECT * FROM perks_spawn"; result = m_perksDB.queryResult(query); if (result != null) { try { while (result.next()) { World world = PerkUtils.server().getWorld(result.getString("world")); Location loc = new Location( world, result.getInt("x"), result.getInt("y"), result.getInt("z"), result.getFloat("yaw"), result.getFloat("pitch")); PerkWorldSpawn spawn = new PerkWorldSpawn(world, loc); spawns.add(spawn); } PerkUtils.DebugConsole("Loaded " + spawns.size() + " spawns"); } catch (SQLException e) { e.printStackTrace(); } m_perksDB.freeResult(result); } UpgradeDatabases(); }