89d51d5f29
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable. It should be noted that this decision does not promise all future exploits will be configurable.
27 Zeilen
1.3 KiB
Diff
27 Zeilen
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aleksander Jagiello <themolkapl@gmail.com>
|
|
Date: Sun, 24 Jan 2021 22:17:54 +0100
|
|
Subject: [PATCH] Add getMainThreadExecutor to BukkitScheduler
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
index 71a147df3bcbd5bb82934da3e6e14326746cf2e3..e85b9bb3f9c225d289a4959921970b9963881199 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
@@ -653,4 +653,15 @@ public class CraftScheduler implements BukkitScheduler {
|
|
public BukkitTask runTaskTimerAsynchronously(Plugin plugin, BukkitRunnable task, long delay, long period) throws IllegalArgumentException {
|
|
throw new UnsupportedOperationException("Use BukkitRunnable#runTaskTimerAsynchronously(Plugin, long, long)");
|
|
}
|
|
+
|
|
+ // Paper start - add getMainThreadExecutor
|
|
+ @Override
|
|
+ public Executor getMainThreadExecutor(Plugin plugin) {
|
|
+ Preconditions.checkArgument(plugin != null, "Plugin cannot be null");
|
|
+ return command -> {
|
|
+ Preconditions.checkArgument(command != null, "Command cannot be null");
|
|
+ this.runTask(plugin, command);
|
|
+ };
|
|
+ }
|
|
+ // Paper end
|
|
}
|