diff --git a/pom.xml b/pom.xml
index 1e7f84e..67a2e82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.lunadeer
Dominion
- 1.4-beta
+ 1.4.4-beta
jar
Dominion
diff --git a/src/main/java/cn/lunadeer/dominion/Dominion.java b/src/main/java/cn/lunadeer/dominion/Dominion.java
index 897c7a9..dac534c 100644
--- a/src/main/java/cn/lunadeer/dominion/Dominion.java
+++ b/src/main/java/cn/lunadeer/dominion/Dominion.java
@@ -5,6 +5,7 @@ import cn.lunadeer.dominion.events.PlayerEvents;
import cn.lunadeer.dominion.events.SelectPointEvents;
import cn.lunadeer.dominion.utils.ConfigManager;
import cn.lunadeer.dominion.utils.Database;
+import cn.lunadeer.dominion.utils.Time;
import cn.lunadeer.dominion.utils.XLogger;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -39,6 +40,8 @@ public final class Dominion extends JavaPlugin {
XLogger.info(" | |__| | (_) | | | | | | | | | | | (_) | | | |");
XLogger.info(" |_____/ \\___/|_| |_| |_|_|_| |_|_|\\___/|_| |_|");
XLogger.info(" ");
+
+ Time.runLater(this, BlueMapConnect::render, 20 * 60);
}
@Override
diff --git a/src/main/java/cn/lunadeer/dominion/controllers/Apis.java b/src/main/java/cn/lunadeer/dominion/controllers/Apis.java
index 85e1b2c..f18e0b2 100644
--- a/src/main/java/cn/lunadeer/dominion/controllers/Apis.java
+++ b/src/main/java/cn/lunadeer/dominion/controllers/Apis.java
@@ -68,9 +68,9 @@ public class Apis {
return BlockFace.EAST;
}
} else if (pitch > 45) {
- return BlockFace.UP;
- } else {
return BlockFace.DOWN;
+ } else {
+ return BlockFace.UP;
}
}
}
diff --git a/src/main/java/cn/lunadeer/dominion/utils/Time.java b/src/main/java/cn/lunadeer/dominion/utils/Time.java
index ebbd0c1..5f60282 100644
--- a/src/main/java/cn/lunadeer/dominion/utils/Time.java
+++ b/src/main/java/cn/lunadeer/dominion/utils/Time.java
@@ -1,7 +1,11 @@
package cn.lunadeer.dominion.utils;
+import org.bukkit.Bukkit;
+import org.bukkit.plugin.Plugin;
+
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.concurrent.TimeUnit;
public class Time {
@@ -9,4 +13,49 @@ public class Time {
// yyyy-MM-dd HH:mm:ss
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
}
+
+ /**
+ * 尝试获取folia的调度器
+ *
+ * @return 是否成功
+ */
+ private static boolean tryFolia() {
+ try {
+ Bukkit.getAsyncScheduler();
+ return true;
+ } catch (Throwable ignored) {
+ }
+ return false;
+ }
+
+ private static Boolean IS_FOLIA = null;
+
+ /**
+ * 判断是否是folia核心
+ *
+ * @return 是否是folia核心
+ */
+ public static Boolean isFolia() {
+ if (IS_FOLIA == null) IS_FOLIA = tryFolia();
+ return IS_FOLIA;
+ }
+
+ /**
+ * 定时异步任务
+ *
+ * @param plugin 插件
+ * @param runnable 任务
+ * @param ticks 间隔
+ */
+ public static void runAtFixedRateAsync(Plugin plugin, Runnable runnable, int ticks) {
+ if (isFolia())
+ Bukkit.getAsyncScheduler().runAtFixedRate(plugin, (task) -> runnable.run(), ticks / 20, ticks / 20, TimeUnit.SECONDS);
+ else Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, runnable, ticks, ticks);
+ }
+
+ public static void runLater(Plugin plugin, Runnable runnable, int ticks) {
+ if (isFolia())
+ Bukkit.getAsyncScheduler().runDelayed(plugin, (task) -> runnable.run(), ticks / 20, TimeUnit.SECONDS);
+ else Bukkit.getScheduler().runTaskLater(plugin, runnable, ticks);
+ }
}