diff --git a/.gitignore b/.gitignore
index 043fc2a..d05cb03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,7 @@
# Eclipse stuff
+/.project
+/.classpath
+/.factorypath
/.settings
# netbeans
diff --git a/pom.xml b/pom.xml
index 46a8a46..5427160 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
Yum
- 2.7.10
+ 2.8.0
jar
Minecraft 服务器插件管理系统
@@ -16,13 +16,14 @@
- §a补丁包 2.7.10 版本
+ §a补丁包 2.8 版本
+ §619-02-23 §cfix: 修复不兼容 1.13 的问题;
+
+
§617-07-29 §cfix: 修复不兼容 1.12 的问题;
§6- §cfix: §7修复仓库数据读取错误的问题;
§6- §cfix: §7修复一个tab补全产生的错误
-
-
§6- §btip: §a本插件最后一次更新 2.7.8 版本;
§6- §afeat: §7线程中断只显示一次调试信息;
§6- §afeat: §7更新线程检查 添加调试;
@@ -40,8 +41,8 @@
DEV
UTF-8
- 1.7
- 1.7
+ 1.8
+ 1.8
diff --git a/src/main/java/pw/yumc/Yum/inject/TaskInjector.java b/src/main/java/pw/yumc/Yum/inject/TaskInjector.java
index ce35277..b993df5 100644
--- a/src/main/java/pw/yumc/Yum/inject/TaskInjector.java
+++ b/src/main/java/pw/yumc/Yum/inject/TaskInjector.java
@@ -10,6 +10,7 @@ import org.bukkit.scheduler.BukkitTask;
import pw.yumc.Yum.commands.MonitorCommand;
import pw.yumc.Yum.managers.MonitorManager;
+import pw.yumc.YumCore.bukkit.P;
import pw.yumc.YumCore.kit.StrKit;
import pw.yumc.YumCore.reflect.Reflect;
@@ -19,6 +20,20 @@ public class TaskInjector implements Runnable {
private static String err = prefix + "§6插件 §b%s §6处理 §d%s §6任务时发生异常!";
private static String inject_error = prefix + "§6插件 §b%s §c注入能耗监控失败!";
private static String plugin_is_null = "插件不得为NULL!";
+ private static String taskFieldName = "task";
+
+ static {
+ BukkitTask task = Bukkit.getServer().getScheduler().runTask(P.instance, new Runnable(){
+ @Override
+ public void run() {}
+ });
+ try {
+ Reflect.on(task).get("rTask");
+ taskFieldName = "rTask";
+ }catch (Throwable ex) {
+ }
+ }
+
private Runnable originalTask;
private Plugin plugin;
@@ -44,10 +59,12 @@ public class TaskInjector implements Runnable {
for (BukkitTask pendingTask : pendingTasks) {
// 忽略异步任务
if (pendingTask.isSync() && pendingTask.getOwner().equals(plugin)) {
- Runnable originalTask = Reflect.on(pendingTask).get("task");
- if (originalTask instanceof TaskInjector) { return; }
+ Runnable originalTask = Reflect.on(pendingTask).get(taskFieldName);
+ if (originalTask instanceof TaskInjector) {
+ return;
+ }
TaskInjector taskInjector = new TaskInjector(originalTask, plugin);
- Reflect.on(pendingTask).set("task", taskInjector);
+ Reflect.on(pendingTask).set(taskFieldName, taskInjector);
}
}
} catch (Throwable e) {