From 7f649875859b759003774b949c67aaa3f5fec46f Mon Sep 17 00:00:00 2001 From: Rockyers Date: Sun, 13 Aug 2023 19:58:04 -0700 Subject: [PATCH] Replace Bukkit schedulers in SaveTimerTask.java --- src/main/java/com/gmail/nossr50/mcMMO.java | 2 +- .../nossr50/runnables/SaveTimerTask.java | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index c0721706c..7b19fe7c1 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -644,7 +644,7 @@ public class mcMMO extends JavaPlugin { long saveIntervalTicks = Math.max(minute, generalConfig.getSaveInterval() * minute); - new SaveTimerTask().runTaskTimer(this, saveIntervalTicks, saveIntervalTicks); + new SaveTimerTask().runTaskTimer(saveIntervalTicks, saveIntervalTicks); // Cleanup the backups folder new CleanBackupsTask().runTaskAsynchronously(mcMMO.p); diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index d42eb6b2f..db9a17d41 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -5,22 +5,26 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.player.PlayerProfileSaveTask; import com.gmail.nossr50.util.LogUtils; +import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.UserManager; -import org.bukkit.scheduler.BukkitRunnable; +import com.tcoded.folialib.wrapper.WrappedTask; -public class SaveTimerTask extends BukkitRunnable { - @Override - public void run() { - LogUtils.debug(mcMMO.p.getLogger(), "[User Data] Saving..."); - // All player data will be saved periodically through this - int count = 1; +import java.util.concurrent.TimeUnit; - for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); - count++; - } +public class SaveTimerTask { + public WrappedTask runTaskTimer(long delay, long period) { + return mcMMO.p.getFoliaLib().getImpl().runTimer(() -> { + LogUtils.debug(mcMMO.p.getLogger(), "[User Data] Saving..."); + // All player data will be saved periodically through this + int count = 1; + + for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { + new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); + count++; + } - PartyManager.saveParties(); + PartyManager.saveParties(); + }, delay * Misc.TICK_CONVERSION_FACTOR, period * Misc.TICK_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); } }