diff --git a/pom.xml b/pom.xml index 04849d5..09606ad 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ simplexity SimpleVanish - 2.1.1 + 2.1.2 jar SimpleVanish diff --git a/src/main/java/simplexity/simplevanish/handling/ScheduleHandler.java b/src/main/java/simplexity/simplevanish/handling/ScheduleHandler.java index f3f1825..5964d30 100644 --- a/src/main/java/simplexity/simplevanish/handling/ScheduleHandler.java +++ b/src/main/java/simplexity/simplevanish/handling/ScheduleHandler.java @@ -1,17 +1,19 @@ package simplexity.simplevanish.handling; +import io.papermc.paper.threadedregions.scheduler.AsyncScheduler; +import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitScheduler; -import org.bukkit.scheduler.BukkitTask; import simplexity.simplevanish.SimpleVanish; import simplexity.simplevanish.config.ConfigHandler; import simplexity.simplevanish.config.Message; import simplexity.simplevanish.saving.Cache; +import java.util.concurrent.TimeUnit; + public class ScheduleHandler { - private BukkitTask task; - private final BukkitScheduler scheduler = SimpleVanish.getInstance().getServer().getScheduler(); + private ScheduledTask task; + private final AsyncScheduler scheduler = SimpleVanish.getInstance().getServer().getAsyncScheduler(); private final MiniMessage miniMessage = SimpleVanish.getMiniMessage(); private ScheduleHandler(){} private static ScheduleHandler instance; @@ -22,17 +24,17 @@ public static ScheduleHandler getInstance(){ public void startScheduler(){ if (task != null) task.cancel(); - task = scheduler.runTaskTimer(SimpleVanish.getInstance(), this::displayActionBar, 0L, ConfigHandler.getInstance().getRemindInterval() * 20L); + task = scheduler.runAtFixedRate(SimpleVanish.getInstance(), this::displayActionBar, 0L, ConfigHandler.getInstance().getRemindInterval(), TimeUnit.SECONDS); } public void stopScheduler(){ if (task != null) task.cancel(); } - private void displayActionBar(){ + private void displayActionBar(ScheduledTask scheduledTask){ if (Cache.getVanishedPlayers().isEmpty()) return; for (Player player : Cache.getVanishedPlayers()) { - player.sendActionBar(miniMessage.deserialize(Message.VANISH_REMINDER.getMessage())); + player.getScheduler().run(SimpleVanish.getInstance(), task1 -> player.sendActionBar(miniMessage.deserialize(Message.VANISH_REMINDER.getMessage())), () -> {}); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0e4b0c3..489aa9b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,6 +4,7 @@ main: simplexity.simplevanish.SimpleVanish api-version: '1.21.6' softdepend: - PlaceholderAPI +folia-supported: true permissions: vanish.view: default: op