Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Save the local copy
- HashMap<Integer, String> map = selectedPerks.getOrDefault(uuid, new HashMap<>());
- map.put(slot, perk);
- selectedPerks.put(uuid, map);
- // Save it to the database
- Classs classs = getSelectedClassForPlayer(uuid);
- ClassData cd = getClassDataForPlayer(uuid, classs.id);
- if (cd == null) {
- cd = new ClassData(
- classs.id,
- true,
- 1,
- 0,
- new SubClassData(
- false,
- 0
- ),
- new SubClassData(
- false,
- 0
- ),
- map.getOrDefault(1, "none"),
- map.getOrDefault(2, "none"),
- map.getOrDefault(3, "none"),
- map.getOrDefault(4, "none"),
- map.getOrDefault(5, "none"));
- } else {
- cd.perkOne = map.getOrDefault(1, "none");
- cd.perkTwo = map.getOrDefault(2, "none");
- cd.perkThree = map.getOrDefault(3, "none");
- cd.perkFour = map.getOrDefault(4, "none");
- cd.perkFive = map.getOrDefault(5, "none");
- }
- try {
- Class.forName("org.sqlite.JDBC");
- try (Connection conn = DriverManager.getConnection(url);
- Statement stmt = conn.createStatement()) {
- ResultSet result = stmt.executeQuery("SELECT * FROM playerData WHERE uuid='" + uuid + "'");
- result.next();
- Gson gson = new Gson();
- classesData d = gson.fromJson(result.getString("classesData"), classesData.class);
- if (d == null)
- d = new classesData();
- boolean success = false;
- classData newCD = new classData(cd.id,
- cd.unlocked,
- cd.level,
- cd.subClass,
- new subClassData(
- cd.subClassOne.unlocked,
- cd.subClassOne.level
- ),
- new subClassData(
- cd.subClassTwo.unlocked,
- cd.subClassTwo.level
- ),
- new selectedPerks(
- cd.perkOne,
- cd.perkTwo,
- cd.perkThree,
- cd.perkFour,
- cd.perkFive
- )
- );
- for (int i=0; i < d.classes.length; i++) {
- classData classData = d.classes[i];
- if (classData.id.equals(cd.id)) {
- d.classes[i] = newCD;
- success = true;
- break;
- }
- }
- if (success) {
- stmt.execute("DELETE * FROM playerData WHERE uuid='" + uuid + "'");
- stmt.execute("INSERT INTO playerData ( '" + uuid + "', '"
- + classs.id +"', '"
- + result.getString("unlockedClasses") + "', '"
- + gson.toJson(d, classesData.class) + "', '"
- + result.getString("selectedPerks") + "' )");
- } else {
- classData[] classes = new classData[d.classes.length+1];
- System.arraycopy(d.classes, 0, classes, 0, d.classes.length);
- classes[classes.length-1] = newCD;
- classesData nd = new classesData(classes);
- stmt.execute("DELETE * FROM playerData WHERE uuid='" + uuid + "'");
- stmt.execute("INSERT INTO playerData ( '" + uuid + "', '"
- + classs.id +"', '"
- + result.getString("unlockedClasses") + "', '"
- + gson.toJson(nd, classesData.class) + "', '"
- + result.getString("selectedPerks") + "' )");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement