替换了异步执行库

This commit is contained in:
zhangyuheng 2024-05-17 17:50:47 +08:00
parent 8b94db63f3
commit d2150ee72e
6 changed files with 14 additions and 33 deletions

View File

@ -82,7 +82,7 @@
<dependency>
<groupId>cn.lunadeer</groupId>
<artifactId>MinecraftPluginUtils</artifactId>
<version>1.1.4</version>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>com.github.BlueMap-Minecraft</groupId>

View File

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

View File

@ -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

View File

@ -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());
}
}

View File

@ -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<String, List<String>> mca_cords = new HashMap<>();
List<DominionDTO> 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, "配置文件已重新加载");

View File

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