替换了异步执行库
This commit is contained in:
parent
8b94db63f3
commit
d2150ee72e
2
pom.xml
2
pom.xml
@ -82,7 +82,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.lunadeer</groupId>
|
<groupId>cn.lunadeer</groupId>
|
||||||
<artifactId>MinecraftPluginUtils</artifactId>
|
<artifactId>MinecraftPluginUtils</artifactId>
|
||||||
<version>1.1.4</version>
|
<version>1.1.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.BlueMap-Minecraft</groupId>
|
<groupId>com.github.BlueMap-Minecraft</groupId>
|
||||||
|
@ -34,13 +34,13 @@ public class Cache {
|
|||||||
if (_update_dominion_is_scheduled.get()) return;
|
if (_update_dominion_is_scheduled.get()) return;
|
||||||
Dominion.logger.debug("schedule loadDominionsExecution");
|
Dominion.logger.debug("schedule loadDominionsExecution");
|
||||||
_update_dominion_is_scheduled.set(true);
|
_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");
|
Dominion.logger.debug("run loadDominionsExecution scheduled");
|
||||||
loadDominionsExecution();
|
loadDominionsExecution();
|
||||||
_update_dominion_is_scheduled.set(false);
|
_update_dominion_is_scheduled.set(false);
|
||||||
},
|
},
|
||||||
UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_dominion.get()),
|
delay_tick);
|
||||||
TimeUnit.MILLISECONDS);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,12 +78,12 @@ public class Cache {
|
|||||||
} else {
|
} else {
|
||||||
if (_update_privilege_is_scheduled.get()) return;
|
if (_update_privilege_is_scheduled.get()) return;
|
||||||
_update_privilege_is_scheduled.set(true);
|
_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();
|
loadPlayerPrivilegesExecution();
|
||||||
_update_privilege_is_scheduled.set(false);
|
_update_privilege_is_scheduled.set(false);
|
||||||
},
|
},
|
||||||
UPDATE_INTERVAL - (System.currentTimeMillis() - _last_update_privilege.get()),
|
delay_tick);
|
||||||
TimeUnit.MILLISECONDS);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import cn.lunadeer.dominion.events.PlayerEvents;
|
|||||||
import cn.lunadeer.dominion.events.SelectPointEvents;
|
import cn.lunadeer.dominion.events.SelectPointEvents;
|
||||||
import cn.lunadeer.dominion.managers.ConfigManager;
|
import cn.lunadeer.dominion.managers.ConfigManager;
|
||||||
import cn.lunadeer.dominion.managers.DatabaseTables;
|
import cn.lunadeer.dominion.managers.DatabaseTables;
|
||||||
import cn.lunadeer.dominion.utils.Scheduler;
|
|
||||||
import cn.lunadeer.minecraftpluginutils.*;
|
import cn.lunadeer.minecraftpluginutils.*;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -15,7 +14,6 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
public final class Dominion extends JavaPlugin {
|
public final class Dominion extends JavaPlugin {
|
||||||
|
|
||||||
@ -70,9 +68,7 @@ public final class Dominion extends JavaPlugin {
|
|||||||
logger.info(" |_____/ \\___/|_| |_| |_|_|_| |_|_|\\___/|_| |_|");
|
logger.info(" |_____/ \\___/|_| |_| |_|_|_| |_|_|\\___/|_| |_|");
|
||||||
logger.info(" ");
|
logger.info(" ");
|
||||||
|
|
||||||
scheduler.async.runDelayed(this, scheduledTask -> {
|
scheduler.runTaskLaterAsync(BlueMapConnect::render, 40 * 20);
|
||||||
BlueMapConnect.render();
|
|
||||||
}, 40, TimeUnit.SECONDS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -390,7 +390,7 @@ public class DominionOperate {
|
|||||||
Dominion.notification.info(player, "传送将在 %d 秒后执行", Dominion.config.getTpDelay());
|
Dominion.notification.info(player, "传送将在 %d 秒后执行", Dominion.config.getTpDelay());
|
||||||
}
|
}
|
||||||
Cache.instance.NextTimeAllowTeleport.put(player.getUniqueId(), now.plusSeconds(Dominion.config.getTpCoolDown()));
|
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();
|
Location location = dominionDTO.getTpLocation();
|
||||||
if (location == null) {
|
if (location == null) {
|
||||||
int x = (dominionDTO.getX1() + dominionDTO.getX2()) / 2;
|
int x = (dominionDTO.getX1() + dominionDTO.getX2()) / 2;
|
||||||
@ -403,6 +403,6 @@ public class DominionOperate {
|
|||||||
Teleport.doTeleportSafely(Dominion.instance, player, location);
|
Teleport.doTeleportSafely(Dominion.instance, player, location);
|
||||||
Dominion.notification.info(player, "已将你传送到 " + dominionDTO.getName());
|
Dominion.notification.info(player, "已将你传送到 " + dominionDTO.getName());
|
||||||
}
|
}
|
||||||
}, Dominion.config.getTpDelay() == 0 ? 1 : 20L * Dominion.config.getTpDelay());
|
}, 20L * Dominion.config.getTpDelay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,12 +18,12 @@ public class Operator {
|
|||||||
|
|
||||||
public static void reloadCache(CommandSender sender, String[] args) {
|
public static void reloadCache(CommandSender sender, String[] args) {
|
||||||
if (notOpOrConsole(sender)) return;
|
if (notOpOrConsole(sender)) return;
|
||||||
Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> {
|
Dominion.scheduler.runTaskAsync(() -> {
|
||||||
Dominion.notification.info(sender, "正在从数据库重新加载领地缓存...");
|
Dominion.notification.info(sender, "正在从数据库重新加载领地缓存...");
|
||||||
Cache.instance.loadDominions();
|
Cache.instance.loadDominions();
|
||||||
Dominion.notification.info(sender, "领地缓存已重新加载");
|
Dominion.notification.info(sender, "领地缓存已重新加载");
|
||||||
});
|
});
|
||||||
Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> {
|
Dominion.scheduler.runTaskAsync(() -> {
|
||||||
Dominion.notification.info(sender, "正在从数据库重新加载玩家权限缓存...");
|
Dominion.notification.info(sender, "正在从数据库重新加载玩家权限缓存...");
|
||||||
Cache.instance.loadPlayerPrivileges();
|
Cache.instance.loadPlayerPrivileges();
|
||||||
Dominion.notification.info(sender, "玩家权限缓存已重新加载");
|
Dominion.notification.info(sender, "玩家权限缓存已重新加载");
|
||||||
@ -32,7 +32,7 @@ public class Operator {
|
|||||||
|
|
||||||
public static void exportMca(CommandSender sender, String[] args) {
|
public static void exportMca(CommandSender sender, String[] args) {
|
||||||
if (notOpOrConsole(sender)) return;
|
if (notOpOrConsole(sender)) return;
|
||||||
Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> {
|
Dominion.scheduler.runTaskAsync(() -> {
|
||||||
Dominion.notification.info(sender, "正在导出拥有领地的MCA文件列表...");
|
Dominion.notification.info(sender, "正在导出拥有领地的MCA文件列表...");
|
||||||
Map<String, List<String>> mca_cords = new HashMap<>();
|
Map<String, List<String>> mca_cords = new HashMap<>();
|
||||||
List<DominionDTO> doms = Cache.instance.getDominions();
|
List<DominionDTO> doms = Cache.instance.getDominions();
|
||||||
@ -103,7 +103,7 @@ public class Operator {
|
|||||||
|
|
||||||
public static void reloadConfig(CommandSender sender, String[] args) {
|
public static void reloadConfig(CommandSender sender, String[] args) {
|
||||||
if (notOpOrConsole(sender)) return;
|
if (notOpOrConsole(sender)) return;
|
||||||
Dominion.scheduler.async.runNow(Dominion.instance, ScheduledTask -> {
|
Dominion.scheduler.runTaskAsync(() -> {
|
||||||
Dominion.notification.info(sender, "正在重新加载配置文件...");
|
Dominion.notification.info(sender, "正在重新加载配置文件...");
|
||||||
Dominion.config.reload();
|
Dominion.config.reload();
|
||||||
Dominion.notification.info(sender, "配置文件已重新加载");
|
Dominion.notification.info(sender, "配置文件已重新加载");
|
||||||
|
@ -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;
|
|
||||||
}
|
|
Reference in New Issue
Block a user