public static void loadAltars() { ResultSet r = null; try { r = (new SQLQuery( new String( "select a.god,a.type,l.x,l.y,l.z,l.world,a.id,a.owner from £.altar a, £.locations l where a.location=l.id;"), msqlc)) .excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { if (r != null) { while (r.next()) { AltarManager.loadAltar( GodManager.getGod(Utility.getGodTypeFromDBNumber(r.getInt(1))), AltarType.valueOf(r.getString(2)), new Location( Bukkit.getServer().getWorld(r.getString(6)), r.getInt(3), r.getInt(4), r.getInt(5)), r.getInt(7), Bukkit.getPlayer(r.getString(8))); } } } catch (SQLException e) { return; } }
public static OfflinePlayer getChamp(GodType type) { OfflinePlayer p = null; ResultSet r = null; try { r = (new SQLQuery( (new String( "select champ from £.gods where idGod=" + String.valueOf(Utility.getDBNumberFromGodType(type)))), ConfigManager.getMySQLConfig()) .excecuteQuery()); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { while (r.next()) { String s = r.getString(1); if (s != null) { p = Bukkit.getPlayer(r.getString(1)); } } } catch (SQLException e) { return null; } return p; }
public static void setChamp(God g, OfflinePlayer p) { String s = new String( "update £.gods set champ=" + ((p == null) ? "NULL" : "'" + p.getName() + "'") + " where idGod=" + (new Integer(Utility.getDBNumberFromGodType(g.getGodType())))); Bukkit.getServer().broadcastMessage(s); (new SQLQuery(s, msqlc)).excecuteUpdate(); }
public static void saveAltars() { Set<Entry<Location, Altar>> sal = AltarManager.getAltars(); for (Entry<Location, Altar> al : sal) { try { Altar a = al.getValue(); if (a.marked()) { ResultSet r = new SQLQuery("select location from £.altar where id=" + a.getDBId() + ";", msqlc) .excecuteQuery(); while (r.next()) { new SQLQuery("delete from £.altar where id=" + a.getDBId() + ";", msqlc) .excecuteUpdate(); new SQLQuery("delete from £.locations where id=" + r.getInt(1) + ";", msqlc) .excecuteUpdate(); } } else { int idDB = a.getDBId(); if (idDB == -1) { Location l = a.getLocation(); new SQLQuery( "insert into £.locations(world,chunkx,chunkz,x,y,z) values('" + l.getWorld().getName() + "'," + l.getChunk().getX() + "," + l.getChunk().getZ() + "," + l.getBlockX() + "," + l.getBlockY() + "," + l.getBlockZ() + ");", msqlc) .excecuteUpdate(); ResultSet r = new SQLQuery("select max(id) from £.locations", msqlc).excecuteQuery(); while (r.next()) { new SQLQuery( "insert into £.altar(god,type,location) values(" + Utility.getDBNumberFromGodType(a.getGod().getGodType()) + ",'" + a.getType() + "'," + r.getInt(1) + ")", msqlc) .excecuteUpdate(); } } } } catch (SQLException e) { e.printStackTrace(); } } }
public static FollowerData getFollower(OfflinePlayer p) { try { String sq = "select reputation,god,lastpray,lastheal,points from £.followers where follower like '" + p.getName() + "';"; ResultSet r = (new SQLQuery(new String(sq), msqlc)).excecuteQuery(); boolean empty = true; while (r.next()) { empty = false; break; } if (!empty) { r.first(); GregorianCalendar c = new GregorianCalendar(); Date c2 = r.getDate(3), d2 = r.getDate(4); if (c2 == null) c = null; else c.setTimeInMillis(c2.getTime()); GregorianCalendar d = new GregorianCalendar(); if (d2 == null) d = null; else d.setTimeInMillis(d2.getTime()); return new FollowerData( r.getInt(1), r.getInt(5), GodManager.getGod(Utility.getGodTypeFromDBNumber(r.getInt(2))), c, d, true); } } catch (SQLException ex) { if (p.isOnline()) p.getPlayer() .sendMessage(Utility.formattedMessage(Utility.getMessage("msg.followers.loadfail"))); } return null; }
public static OfflinePlayer getNewChampCandidate(GodType g) { try { ResultSet r = (new SQLQuery( "select follower from £.followers where reputation>999 and god=" + Utility.getDBNumberFromGodType(g) + " order by reputation,points,follower limit 1", msqlc)) .excecuteQuery(); while (r.next()) { return Bukkit.getOfflinePlayer(r.getString(1)); } return null; } catch (MySQLSyntaxErrorException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return null; }
public static void loadThrones() { for (GodType t : GodType.values()) { if (GodManager.isActive(t)) { String str = "select l.x,l.y,l.z,g.hasThrone,l.world from £.thrones g,£.locations l where g.location=l.id and god=" + Utility.getDBNumberFromGodType(t) + ";"; ResultSet r = null; try { r = (new SQLQuery(str, msqlc)).excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { while (r.next()) { if (r.getBoolean(4)) { Location l = new Location( Bukkit.getServer().getWorld(r.getString(5)), r.getInt(1), r.getInt(2), r.getInt(3)); GodManager.getGod(t).setThrone((Sign) l.getBlock().getState()); AltarManager.loadAltar(GodManager.getGod(t), AltarType.THRONE, l, 1, null); Sign s = (Sign) l.getBlock().getState(); if (!s.getLine(1).equalsIgnoreCase(GodManager.getGod(t).getGodName())) s.setLine(1, GodManager.getGod(t).getGodName().toUpperCase()); } } } catch (IndexOutOfBoundsException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } }
public static ArrayList<Entry<String, Integer>> getTopFollowers(God g) { ArrayList<Entry<String, Integer>> list = new ArrayList<>(); ResultSet r = null; try { r = (new SQLQuery( "select follower,reputation from £.followers f where god=" + Utility.getDBNumberFromGodType(g.getGodType()) + " order by f.reputation limit 10;", msqlc)) .excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { while (r.next()) { list.add( new AbstractMap.SimpleEntry<String, Integer>(r.getString(1), new Integer(r.getInt(2)))); } } catch (SQLException e) { e.printStackTrace(); } return list; }
public static void loadChamps() { for (int i = 1; i <= GodManager.getActiveGods(); i++) { GodType t = Utility.getGodTypeFromDBNumber(i); ResultSet r = null; try { r = (new SQLQuery( new String("select lastActivated,champ from £.gods where idGod=" + i + ";"), msqlc)) .excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { while (r.next()) { GregorianCalendar c = null; Date d = r.getDate(1); if (d != null) { c = new GregorianCalendar(); c.setTime(r.getDate(1)); } God g = GodManager.getGod(t); if (g != null) { g.setLastActivated(c); String s = r.getString(2); if (s != null) { OfflinePlayer p = Bukkit.getOfflinePlayer(r.getString(2)); g.setChamp(p); } } } } catch (SQLException e) { e.printStackTrace(); } } }
public static void saveBlocks(Chunk c) { Set<Entry<Location, PlacedBlock>> i = BlockManager.getPlacedBlocksIterator(); for (Entry<Location, PlacedBlock> lpb : i) { PlacedBlock b = lpb.getValue(); if (!b.getBlock().getChunk().equals(c)) return; if (b.isInDB()) { if (Utility.daysFromToday(b.getDayPlaced()) > 6) b.mark(); if (b.isMarked()) { ResultSet r = null; try { r = (new SQLQuery( "select location from £.nonnatural where id=" + b.getIdDB() + ";", msqlc)) .excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { while (r.next()) { (new SQLQuery("delete from £.locations where id=" + r.getInt(1) + ";", msqlc)) .excecuteUpdate(); (new SQLQuery("delete from £.nonnatural where id=" + b.getIdDB() + ";", msqlc)) .excecuteUpdate(); } } catch (SQLException e) { e.printStackTrace(); } } } else { Location l = b.getBlock().getLocation(); String s = "insert into £.locations(world,chunkx,chunkz,x,y,z) values('" + l.getWorld().getName().toString() + "'," + c.getX() + "," + c.getZ() + "," + l.getBlockX() + "," + l.getBlockY() + "," + l.getBlockZ() + ");"; (new SQLQuery(s, msqlc)).excecuteUpdate(); ResultSet r = null; try { r = (new SQLQuery("select max(id) from £.locations;", msqlc)).excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); while (r.next()) { (new SQLQuery( "insert into £.nonnatural(location,dayPlaced) values(" + r.getInt(1) + ",'" + df.format(b.getDayPlaced().getTime()) + "');", msqlc)) .excecuteUpdate(); } } catch (SQLException e) { e.printStackTrace(); } } } }
public static void saveThrones() { for (int i = 1; i < 5; i++) { God g = GodManager.getGod(Utility.getGodTypeFromDBNumber(i)); if (g != null) { if (g.hasThrone()) { if (AltarManager.getAltar(g.getThrone()).getDBId() == 0) { Location l = g.getThrone().getLocation(); String s = "insert into £.locations(world,chunkx,chunkz,x,y,z) values('" + l.getWorld().getName() + "'," + l.getChunk().getX() + "," + l.getChunk().getZ() + "," + l.getBlockX() + "," + l.getBlockY() + "," + l.getBlockZ() + ")"; (new SQLQuery(s, msqlc)).excecuteUpdate(); ResultSet r = null; try { r = (new SQLQuery("select max(id) from £.locations", msqlc)).excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } try { r.first(); s = "update £.thrones set hasThrone=true, location=" + r.getInt(1) + " where god=" + i; (new SQLQuery(s, msqlc)).excecuteUpdate(); } catch (SQLException e) { e.printStackTrace(); } } } else { Bukkit.getConsoleSender().sendMessage("2"); String s = "select location from £.thrones where god=" + i + ";"; ResultSet r = null; try { r = (new SQLQuery(s, msqlc)).excecuteQuery(); } catch (MySQLSyntaxErrorException e1) { e1.printStackTrace(); } s = "update £.thrones set hasThrone=false, location=NULL where god=" + i + ";"; (new SQLQuery(s, msqlc)).excecuteUpdate(); try { while (r.next()) { s = "delete from £.locations where id=" + r.getInt(1) + ";"; (new SQLQuery(s, msqlc)).excecuteUpdate(); } } catch (SQLException e) { e.printStackTrace(); } } GregorianCalendar gc = g.getLastActivated(); if (gc != null) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String s = "update £.gods set lastActivated='" + df.format(gc.getTime()) + "' where idGod=" + i + ";"; (new SQLQuery(s, msqlc)).excecuteUpdate(); } } } }
public static void saveFollower( Player p, int rep, int points, God g, GregorianCalendar lastPrayed, GregorianCalendar lastHealed) { String sr = new String("select id from £.followers where follower like '" + p.getName() + "';"); ResultSet r = null; try { r = (new SQLQuery(sr, msqlc)).excecuteQuery(); } catch (MySQLSyntaxErrorException e) { e.printStackTrace(); } boolean empty = true; try { String s; while (r.next()) { empty = false; } if (empty) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); s = new String( "insert into £.followers(follower,reputation,points,god,lastpray,lastheal) values('" + p.getName()) + "'," + rep + "," + points + "," + Utility.getDBNumberFromGodType(g.getGodType()) + ",'" + df.format(lastPrayed.getTime()) + "','" + df.format(lastHealed.getTime()).toString() + "');"; } else if (rep == -1) { s = new String("delete from £.followers where id=" + r.getInt(1) + ";"); } else { r.first(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); s = new String( "update £.followers set lastpray='" + df.format(lastPrayed.getTime()) + "', points=" + points + ", reputation=" + rep + ", god=" + Utility.getDBNumberFromGodType(g.getGodType()) + ", lastheal='" + df.format(lastHealed.getTime()) + "' where id=" + r.getInt(1) + ";"); } new SQLQuery(s, msqlc).excecuteUpdate(); } catch (SQLException e2) { e2.printStackTrace(); } }