public void loadGroups() { pl.getServer() .getScheduler() .scheduleAsyncDelayedTask( pl, new BukkitRunnable() { @Override public void run() { try { ResultSet rs = getConn().createStatement().executeQuery("SELECT * FROM `gpvp-groups`;"); while (rs.next()) { int id = rs.getInt("id"); List<String> players = new ArrayList(); String[] loc = rs.getString("locbase").split(";"); Location base = new Location( pl.getServer().getWorld(loc[0]), Integer.parseInt(loc[1]), Integer.parseInt(loc[2]), Integer.parseInt(loc[3])); ResultSet rs2 = getConn() .createStatement() .executeQuery( "SELECT `name` FROM `gpvp-players` WHERE `groupid`=" + id + ";"); while (rs2.next()) { pl.playerNames.put(rs2.getString("name"), id); players.add(rs2.getString("name")); } pl.groups.put( id, new Group( id, pl.maxPlayers, rs.getString("name"), rs.getString("owner"), base, players)); } pl.getLogger() .log( Level.INFO, "Loaded " + pl.groups.size() + " groups and " + pl.playerNames.size() + " players."); } catch (SQLException e) { pl.getLogger().log(Level.WARNING, "Couldn't load groups"); } } }); }
public void saveAllAsync() { pl.getServer() .getScheduler() .scheduleAsyncDelayedTask( pl, new BukkitRunnable() { @Override public void run() { save(); } }); }