Prevent scheduling tasks while disabled

This commit is contained in:
CocoTheOwner 2021-09-29 21:42:41 +02:00
parent 734c0a37f7
commit e1ace2ba08

View File

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