From e1ace2ba082f04d36a4fcd7b4d1ee3ed830e0d42 Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Wed, 29 Sep 2021 21:42:41 +0200 Subject: [PATCH] Prevent scheduling tasks while disabled --- .../com/volmit/iris/util/scheduling/J.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/util/scheduling/J.java b/src/main/java/com/volmit/iris/util/scheduling/J.java index 597c7d4b2..fef71a5b0 100644 --- a/src/main/java/com/volmit/iris/util/scheduling/J.java +++ b/src/main/java/com/volmit/iris/util/scheduling/J.java @@ -27,6 +27,7 @@ import com.volmit.iris.util.function.NastySupplier; import com.volmit.iris.util.math.FinalInteger; import com.volmit.iris.util.parallel.MultiBurst; import org.bukkit.Bukkit; +import org.bukkit.plugin.IllegalPluginAccessException; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; @@ -88,6 +89,9 @@ public class J { } public static void aBukkit(Runnable a) { + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return; + } Bukkit.getScheduler().scheduleAsyncDelayedTask(Iris.instance, a); } @@ -218,11 +222,18 @@ public class J { * @param r the runnable */ public static void s(Runnable r) { + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return; + } Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, r); } public static CompletableFuture sfut(Runnable r) { CompletableFuture f = new CompletableFuture(); + + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return null; + } Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> { r.run(); f.complete(null); @@ -232,6 +243,10 @@ public class J { public static CompletableFuture sfut(Runnable r, int delay) { CompletableFuture f = new CompletableFuture(); + + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return null; + } Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, () -> { r.run(); f.complete(null); @@ -256,6 +271,9 @@ public class J { */ public static void s(Runnable r, int delay) { try { + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return; + } Bukkit.getScheduler().scheduleSyncDelayedTask(Iris.instance, r, delay); } catch (Throwable e) { Iris.reportError(e); @@ -279,6 +297,9 @@ public class J { * @return the task id */ public static int sr(Runnable r, int interval) { + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return -1; + } return Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, r, 0, interval); } @@ -313,7 +334,9 @@ public class J { */ @SuppressWarnings("deprecation") public static void a(Runnable r, int delay) { - Bukkit.getScheduler().scheduleAsyncDelayedTask(Iris.instance, r, delay); + if (Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + Bukkit.getScheduler().scheduleAsyncDelayedTask(Iris.instance, r, delay); + } } /** @@ -334,6 +357,9 @@ public class J { */ @SuppressWarnings("deprecation") public static int ar(Runnable r, int interval) { + if (!Bukkit.getPluginManager().isPluginEnabled(Iris.instance)) { + return -1; + } return Bukkit.getScheduler().scheduleAsyncRepeatingTask(Iris.instance, r, 0, interval); }