Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.26 KB | None | 0 0
  1. // Save the local copy
  2.         HashMap<Integer, String> map = selectedPerks.getOrDefault(uuid, new HashMap<>());
  3.         map.put(slot, perk);
  4.         selectedPerks.put(uuid, map);
  5.  
  6.         // Save it to the database
  7.         Classs classs = getSelectedClassForPlayer(uuid);
  8.         ClassData cd = getClassDataForPlayer(uuid, classs.id);
  9.         if (cd == null) {
  10.             cd = new ClassData(
  11.                     classs.id,
  12.                     true,
  13.                     1,
  14.                     0,
  15.                     new SubClassData(
  16.                             false,
  17.                             0
  18.                     ),
  19.                     new SubClassData(
  20.                             false,
  21.                             0
  22.                     ),
  23.                     map.getOrDefault(1, "none"),
  24.                     map.getOrDefault(2, "none"),
  25.                     map.getOrDefault(3, "none"),
  26.                     map.getOrDefault(4, "none"),
  27.                     map.getOrDefault(5, "none"));
  28.         } else {
  29.             cd.perkOne = map.getOrDefault(1, "none");
  30.             cd.perkTwo = map.getOrDefault(2, "none");
  31.             cd.perkThree = map.getOrDefault(3, "none");
  32.             cd.perkFour = map.getOrDefault(4, "none");
  33.             cd.perkFive = map.getOrDefault(5, "none");
  34.         }
  35.  
  36.         try {
  37.             Class.forName("org.sqlite.JDBC");
  38.  
  39.             try (Connection conn = DriverManager.getConnection(url);
  40.                  Statement stmt = conn.createStatement()) {
  41.                 ResultSet result = stmt.executeQuery("SELECT * FROM playerData WHERE uuid='" + uuid + "'");
  42.                 result.next();
  43.                 Gson gson = new Gson();
  44.                 classesData d = gson.fromJson(result.getString("classesData"), classesData.class);
  45.                 if (d == null)
  46.                     d = new classesData();
  47.                 boolean success = false;
  48.                 classData newCD = new classData(cd.id,
  49.                         cd.unlocked,
  50.                         cd.level,
  51.                         cd.subClass,
  52.                         new subClassData(
  53.                                 cd.subClassOne.unlocked,
  54.                                 cd.subClassOne.level
  55.                         ),
  56.                         new subClassData(
  57.                                 cd.subClassTwo.unlocked,
  58.                                 cd.subClassTwo.level
  59.                         ),
  60.                         new selectedPerks(
  61.                                 cd.perkOne,
  62.                                 cd.perkTwo,
  63.                                 cd.perkThree,
  64.                                 cd.perkFour,
  65.                                 cd.perkFive
  66.                         )
  67.                         );
  68.                 for (int i=0; i < d.classes.length; i++) {
  69.                     classData classData = d.classes[i];
  70.                     if (classData.id.equals(cd.id)) {
  71.                         d.classes[i] = newCD;
  72.                         success = true;
  73.                         break;
  74.                     }
  75.                 }
  76.                 if (success) {
  77.                     stmt.execute("DELETE * FROM playerData WHERE uuid='" + uuid + "'");
  78.                     stmt.execute("INSERT INTO playerData ( '" + uuid + "', '"
  79.                             + classs.id +"', '"
  80.                             + result.getString("unlockedClasses") + "', '"
  81.                             + gson.toJson(d, classesData.class) + "', '"
  82.                             + result.getString("selectedPerks") + "' )");
  83.                 } else {
  84.                     classData[] classes = new classData[d.classes.length+1];
  85.                     System.arraycopy(d.classes, 0, classes, 0, d.classes.length);
  86.                     classes[classes.length-1] = newCD;
  87.                     classesData nd = new classesData(classes);
  88.                     stmt.execute("DELETE * FROM playerData WHERE uuid='" + uuid + "'");
  89.                     stmt.execute("INSERT INTO playerData ( '" + uuid + "', '"
  90.                             + classs.id +"', '"
  91.                             + result.getString("unlockedClasses") + "', '"
  92.                             + gson.toJson(nd, classesData.class) + "', '"
  93.                             + result.getString("selectedPerks") + "' )");
  94.                 }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement