示例#1
0
  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();
        }
      }
    }
  }