From 0b32c9f204f7f929a6273c8e8d9a1a4c2be7b3d9 Mon Sep 17 00:00:00 2001 From: Ka0rX Date: Tue, 29 Nov 2022 07:49:09 +0100 Subject: [PATCH] Resolved BungeeCord SQL Bug --- .../manager/data/mysql/MySQLPlayerDataManager.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java index 35173d0d..d6fb1777 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java @@ -17,6 +17,7 @@ import net.Indyuce.mmocore.skill.ClassSkill; import net.Indyuce.mmocore.tree.SkillTreeNode; import net.Indyuce.mmocore.tree.skilltree.SkillTree; import org.apache.commons.lang.Validate; +import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; @@ -42,7 +43,7 @@ public class MySQLPlayerDataManager extends PlayerDataManager { @Override public void run() { //To prevent infinite loops - if (System.currentTimeMillis() - startTime > 4000) { + if (System.currentTimeMillis() - startTime > 6000) { cancel(); return; } @@ -53,7 +54,7 @@ public class MySQLPlayerDataManager extends PlayerDataManager { //If the data couldn't be loaded for more than 2 seconds its probably due to a server crash and we load the old data //If it the status is is_saved we load the data - if (System.currentTimeMillis() - startTime > 2000 || result.getInt("is_saved") == 1) { + if (System.currentTimeMillis() - startTime > 4000 || result.getInt("is_saved") == 1) { MMOCore.sqlDebug("Time waited: " + (System.currentTimeMillis() - startTime)); MMOCore.sqlDebug("Loading data for: '" + data.getUniqueId() + "'..."); @@ -146,6 +147,7 @@ public class MySQLPlayerDataManager extends PlayerDataManager { data.setFullyLoaded(); MMOCore.sqlDebug("Loaded saved data for: '" + data.getUniqueId() + "'!"); MMOCore.sqlDebug(String.format("{ class: %s, level: %d }", data.getProfess().getId(), data.getLevel())); + return; } else { MMOCore.sqlDebug("Failed to load data because is_saved is false."); } @@ -173,7 +175,7 @@ public class MySQLPlayerDataManager extends PlayerDataManager { } }; - runnable.runTaskTimerAsynchronously(MMOCore.plugin, 0L, 10L); + runnable.runTaskTimerAsynchronously(MMOCore.plugin, 0L, 40L); } @Override @@ -215,7 +217,7 @@ public class MySQLPlayerDataManager extends PlayerDataManager { sql.updateData("quests", data.getQuestData().toJsonString()); sql.updateData("class_info", createClassInfoData(data).toString()); - sql.updateData("is_saved", 1); + Bukkit.getScheduler().runTaskLater(MMOCore.plugin,()->sql.updateData("is_saved", 1),10L); MMOCore.sqlDebug("Saved data for: " + data.getUniqueId()); MMOCore.sqlDebug(String.format("{ class: %s, level: %d }", data.getProfess().getId(), data.getLevel()));