From 640bbb187496a9a4a7236ffceac457a13d1ca415 Mon Sep 17 00:00:00 2001 From: Om Choksi Date: Sun, 30 Apr 2023 18:52:48 +0530 Subject: [PATCH] Fixed Folia support --- .../java/lol/pyr/znpcsplus/scheduling/TaskScheduler.java | 2 ++ .../java/lol/pyr/znpcsplus/scheduling/FoliaScheduler.java | 5 +++++ spigot/src/main/java/lol/pyr/znpcsplus/ZNPCsPlus.java | 4 ++-- .../java/lol/pyr/znpcsplus/scheduling/SpigotScheduler.java | 5 +++++ .../lol/pyr/znpcsplus/skin/cache/SkinCacheCleanTask.java | 4 ++-- .../java/lol/pyr/znpcsplus/tasks/NPCVisibilityTask.java | 6 +++--- .../main/java/lol/pyr/znpcsplus/updater/UpdateChecker.java | 2 +- spigot/src/main/resources/plugin.yml | 3 ++- 8 files changed, 22 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/lol/pyr/znpcsplus/scheduling/TaskScheduler.java b/common/src/main/java/lol/pyr/znpcsplus/scheduling/TaskScheduler.java index 505ce59..daf2852 100644 --- a/common/src/main/java/lol/pyr/znpcsplus/scheduling/TaskScheduler.java +++ b/common/src/main/java/lol/pyr/znpcsplus/scheduling/TaskScheduler.java @@ -12,4 +12,6 @@ public abstract class TaskScheduler { public abstract void runAsync(Runnable runnable); public abstract void runLaterAsync(Runnable runnable, long ticks); + + public abstract void runDelayedTimerAsync(Runnable runnable, long delay, long ticks); } diff --git a/folia/src/main/java/lol/pyr/znpcsplus/scheduling/FoliaScheduler.java b/folia/src/main/java/lol/pyr/znpcsplus/scheduling/FoliaScheduler.java index 364c51f..c2b145a 100644 --- a/folia/src/main/java/lol/pyr/znpcsplus/scheduling/FoliaScheduler.java +++ b/folia/src/main/java/lol/pyr/znpcsplus/scheduling/FoliaScheduler.java @@ -19,4 +19,9 @@ public class FoliaScheduler extends TaskScheduler { public void runLaterAsync(Runnable runnable, long ticks) { Bukkit.getAsyncScheduler().runDelayed(plugin, task -> runnable.run(), ticks * 50, TimeUnit.MILLISECONDS); } + + @Override + public void runDelayedTimerAsync(Runnable runnable, long delay, long ticks) { + Bukkit.getAsyncScheduler().runAtFixedRate(plugin, task -> runnable.run(), delay * 50, ticks * 50, TimeUnit.MILLISECONDS); + } } diff --git a/spigot/src/main/java/lol/pyr/znpcsplus/ZNPCsPlus.java b/spigot/src/main/java/lol/pyr/znpcsplus/ZNPCsPlus.java index b56a02f..96ebb7d 100644 --- a/spigot/src/main/java/lol/pyr/znpcsplus/ZNPCsPlus.java +++ b/spigot/src/main/java/lol/pyr/znpcsplus/ZNPCsPlus.java @@ -124,9 +124,9 @@ public class ZNPCsPlus extends JavaPlugin { Bukkit.getOnlinePlayers().forEach(User::get); log(ChatColor.WHITE + " * Starting tasks..."); - new NPCVisibilityTask(this); + new NPCVisibilityTask(); new InventoryListener(this); - new SkinCacheCleanTask(this); + new SkinCacheCleanTask(); new UserListener(this); if (Configs.config().checkForUpdates()) new UpdateNotificationListener(this, new UpdateChecker(this)); diff --git a/spigot/src/main/java/lol/pyr/znpcsplus/scheduling/SpigotScheduler.java b/spigot/src/main/java/lol/pyr/znpcsplus/scheduling/SpigotScheduler.java index 77d01e2..f8f6b68 100644 --- a/spigot/src/main/java/lol/pyr/znpcsplus/scheduling/SpigotScheduler.java +++ b/spigot/src/main/java/lol/pyr/znpcsplus/scheduling/SpigotScheduler.java @@ -17,4 +17,9 @@ public class SpigotScheduler extends TaskScheduler { public void runLaterAsync(Runnable runnable, long ticks) { Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, runnable, ticks); } + + @Override + public void runDelayedTimerAsync(Runnable runnable, long delay, long ticks) { + Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, runnable, delay, ticks); + } } diff --git a/spigot/src/main/java/lol/pyr/znpcsplus/skin/cache/SkinCacheCleanTask.java b/spigot/src/main/java/lol/pyr/znpcsplus/skin/cache/SkinCacheCleanTask.java index 443d0ca..7b935b3 100644 --- a/spigot/src/main/java/lol/pyr/znpcsplus/skin/cache/SkinCacheCleanTask.java +++ b/spigot/src/main/java/lol/pyr/znpcsplus/skin/cache/SkinCacheCleanTask.java @@ -4,8 +4,8 @@ import lol.pyr.znpcsplus.ZNPCsPlus; import org.bukkit.scheduler.BukkitRunnable; public class SkinCacheCleanTask extends BukkitRunnable { - public SkinCacheCleanTask(ZNPCsPlus plugin) { - runTaskTimerAsynchronously(plugin, 1200, 1200); + public SkinCacheCleanTask() { + ZNPCsPlus.SCHEDULER.runDelayedTimerAsync(this, 1200, 1200); } @Override diff --git a/spigot/src/main/java/lol/pyr/znpcsplus/tasks/NPCVisibilityTask.java b/spigot/src/main/java/lol/pyr/znpcsplus/tasks/NPCVisibilityTask.java index 5b2a669..4cd4f7e 100644 --- a/spigot/src/main/java/lol/pyr/znpcsplus/tasks/NPCVisibilityTask.java +++ b/spigot/src/main/java/lol/pyr/znpcsplus/tasks/NPCVisibilityTask.java @@ -1,17 +1,17 @@ package lol.pyr.znpcsplus.tasks; +import lol.pyr.znpcsplus.ZNPCsPlus; import lol.pyr.znpcsplus.config.Configs; import lol.pyr.znpcsplus.npc.NPC; import lol.pyr.znpcsplus.npc.NPCRegistry; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.util.NumberConversions; public class NPCVisibilityTask extends BukkitRunnable { - public NPCVisibilityTask(Plugin plugin) { - runTaskTimerAsynchronously(plugin, 60L, 10L); + public NPCVisibilityTask() { + ZNPCsPlus.SCHEDULER.runDelayedTimerAsync(this, 60L, 10L); } public void run() { diff --git a/spigot/src/main/java/lol/pyr/znpcsplus/updater/UpdateChecker.java b/spigot/src/main/java/lol/pyr/znpcsplus/updater/UpdateChecker.java index b373e55..5caf7d7 100644 --- a/spigot/src/main/java/lol/pyr/znpcsplus/updater/UpdateChecker.java +++ b/spigot/src/main/java/lol/pyr/znpcsplus/updater/UpdateChecker.java @@ -18,7 +18,7 @@ public class UpdateChecker extends BukkitRunnable { public UpdateChecker(ZNPCsPlus plugin) { this.plugin = plugin; - runTaskTimerAsynchronously(plugin, 5L, 6000L); + ZNPCsPlus.SCHEDULER.runDelayedTimerAsync(this, 5L, 6000L); } public void run() { diff --git a/spigot/src/main/resources/plugin.yml b/spigot/src/main/resources/plugin.yml index 00bc9fa..c1c78f5 100644 --- a/spigot/src/main/resources/plugin.yml +++ b/spigot/src/main/resources/plugin.yml @@ -12,4 +12,5 @@ softdepend: - ViaBackwards - ViaRewind - Geyser-Spigot -authors: [gonalez (g0b#3830), Pyr (Pyr#6969)] \ No newline at end of file +authors: [gonalez (g0b#3830), Pyr (Pyr#6969)] +folia-supported: true \ No newline at end of file