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;
-}