diff --git a/pom.xml b/pom.xml index 8db6183..868945d 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ cn.lunadeer MinecraftPluginUtils - 1.1.4 + 1.1.6 com.github.BlueMap-Minecraft diff --git a/src/main/java/cn/lunadeer/dominion/Cache.java b/src/main/java/cn/lunadeer/dominion/Cache.java index ea24cad..4e0ab81 100644 --- a/src/main/java/cn/lunadeer/dominion/Cache.java +++ b/src/main/java/cn/lunadeer/dominion/Cache.java @@ -34,13 +34,13 @@ public class Cache { if (_update_dominion_is_scheduled.get()) return; Dominion.logger.debug("schedule loadDominionsExecution"); _update_dominion_is_scheduled.set(true); - Dominion.scheduler.async.runDelayed(Dominion.instance, (instance) -> { + long delay_tick = (UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_dominion.get())) / 1000 * 20L; + Dominion.scheduler.runTaskLaterAsync(() -> { Dominion.logger.debug("run loadDominionsExecution scheduled"); loadDominionsExecution(); _update_dominion_is_scheduled.set(false); }, - UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_dominion.get()), - TimeUnit.MILLISECONDS); + delay_tick); } } @@ -78,12 +78,12 @@ public class Cache { } else { if (_update_privilege_is_scheduled.get()) return; _update_privilege_is_scheduled.set(true); - Dominion.scheduler.async.runDelayed(Dominion.instance, (instance) -> { + long delay_tick = (UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_dominion.get())) / 1000 * 20L; + Dominion.scheduler.runTaskLaterAsync(() -> { loadPlayerPrivilegesExecution(); _update_privilege_is_scheduled.set(false); }, - UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_privilege.get()), - TimeUnit.MILLISECONDS); + delay_tick); } } diff --git a/src/main/java/cn/lunadeer/dominion/Dominion.java b/src/main/java/cn/lunadeer/dominion/Dominion.java index 5a2f45d..e54ed77 100644 --- a/src/main/java/cn/lunadeer/dominion/Dominion.java +++ b/src/main/java/cn/lunadeer/dominion/Dominion.java @@ -5,7 +5,6 @@ import cn.lunadeer.dominion.events.PlayerEvents; import cn.lunadeer.dominion.events.SelectPointEvents; import cn.lunadeer.dominion.managers.ConfigManager; import cn.lunadeer.dominion.managers.DatabaseTables; -import cn.lunadeer.dominion.utils.Scheduler; import cn.lunadeer.minecraftpluginutils.*; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -15,7 +14,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.UUID; -import java.util.concurrent.TimeUnit; public final class Dominion extends JavaPlugin { @@ -70,9 +68,7 @@ public final class Dominion extends JavaPlugin { logger.info(" |_____/ \\___/|_| |_| |_|_|_| |_|_|\\___/|_| |_|"); logger.info(" "); - scheduler.async.runDelayed(this, scheduledTask -> { - BlueMapConnect.render(); - }, 40, TimeUnit.SECONDS); + scheduler.runTaskLaterAsync(BlueMapConnect::render, 40 * 20); } @Override diff --git a/src/main/java/cn/lunadeer/dominion/commands/DominionOperate.java b/src/main/java/cn/lunadeer/dominion/commands/DominionOperate.java index f977084..5dd7d75 100644 --- a/src/main/java/cn/lunadeer/dominion/commands/DominionOperate.java +++ b/src/main/java/cn/lunadeer/dominion/commands/DominionOperate.java @@ -390,7 +390,7 @@ public class DominionOperate { Dominion.notification.info(player, "传送将在 %d 秒后执行", Dominion.config.getTpDelay()); } Cache.instance.NextTimeAllowTeleport.put(player.getUniqueId(), now.plusSeconds(Dominion.config.getTpCoolDown())); - Dominion.scheduler.region.runDelayed(Dominion.instance, (instance) -> { + Dominion.scheduler.runTaskLater(() -> { Location location = dominionDTO.getTpLocation(); if (location == null) { int x = (dominionDTO.getX1() + dominionDTO.getX2()) / 2; @@ -403,6 +403,6 @@ public class DominionOperate { Teleport.doTeleportSafely(Dominion.instance, player, location); Dominion.notification.info(player, "已将你传送到 " + dominionDTO.getName()); } - }, Dominion.config.getTpDelay() == 0 ? 1 : 20L * Dominion.config.getTpDelay()); + }, 20L * Dominion.config.getTpDelay()); } } diff --git a/src/main/java/cn/lunadeer/dominion/commands/Operator.java b/src/main/java/cn/lunadeer/dominion/commands/Operator.java index 1b43940..d866972 100644 --- a/src/main/java/cn/lunadeer/dominion/commands/Operator.java +++ b/src/main/java/cn/lunadeer/dominion/commands/Operator.java @@ -18,12 +18,12 @@ public class Operator { public static void reloadCache(CommandSender sender, String[] args) { if (notOpOrConsole(sender)) return; - Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> { + Dominion.scheduler.runTaskAsync(() -> { Dominion.notification.info(sender, "正在从数据库重新加载领地缓存..."); Cache.instance.loadDominions(); Dominion.notification.info(sender, "领地缓存已重新加载"); }); - Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> { + Dominion.scheduler.runTaskAsync(() -> { Dominion.notification.info(sender, "正在从数据库重新加载玩家权限缓存..."); Cache.instance.loadPlayerPrivileges(); Dominion.notification.info(sender, "玩家权限缓存已重新加载"); @@ -32,7 +32,7 @@ public class Operator { public static void exportMca(CommandSender sender, String[] args) { if (notOpOrConsole(sender)) return; - Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> { + Dominion.scheduler.runTaskAsync(() -> { Dominion.notification.info(sender, "正在导出拥有领地的MCA文件列表..."); Map> mca_cords = new HashMap<>(); List doms = Cache.instance.getDominions(); @@ -103,7 +103,7 @@ public class Operator { public static void reloadConfig(CommandSender sender, String[] args) { if (notOpOrConsole(sender)) return; - Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> { + Dominion.scheduler.runTaskAsync(() -> { Dominion.notification.info(sender, "正在重新加载配置文件..."); Dominion.config.reload(); Dominion.notification.info(sender, "配置文件已重新加载"); diff --git a/src/main/java/cn/lunadeer/dominion/utils/Scheduler.java b/src/main/java/cn/lunadeer/dominion/utils/Scheduler.java deleted file mode 100644 index 1970df9..0000000 --- a/src/main/java/cn/lunadeer/dominion/utils/Scheduler.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.lunadeer.dominion.utils; - -import io.papermc.paper.threadedregions.scheduler.AsyncScheduler; -import io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler; -import org.bukkit.plugin.java.JavaPlugin; - -public class Scheduler { - public Scheduler(JavaPlugin plugin) { - region = plugin.getServer().getGlobalRegionScheduler(); - async = plugin.getServer().getAsyncScheduler(); - } - - public GlobalRegionScheduler region; - public AsyncScheduler async; -}