diff --git a/Spigot-API-Patches/0021-Fix-ServerListPingEvent-flagging-as-Async.patch b/Spigot-API-Patches/0021-Fix-ServerListPingEvent-flagging-as-Async.patch new file mode 100644 index 0000000..95a21e9 --- /dev/null +++ b/Spigot-API-Patches/0021-Fix-ServerListPingEvent-flagging-as-Async.patch @@ -0,0 +1,54 @@ +From f77db2e56a6185471090b6cfeba2c441e19af096 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 24 Feb 2016 00:57:22 -0500 +Subject: [PATCH] Fix ServerListPingEvent flagging as Async + +This event can sometimes fire Async, set the proper boolean + +diff --git a/src/main/java/org/bukkit/event/server/ServerEvent.java b/src/main/java/org/bukkit/event/server/ServerEvent.java +index eb00d6a..70416c8 100644 +--- a/src/main/java/org/bukkit/event/server/ServerEvent.java ++++ b/src/main/java/org/bukkit/event/server/ServerEvent.java +@@ -1,9 +1,19 @@ + package org.bukkit.event.server; + ++import org.bukkit.Bukkit; + import org.bukkit.event.Event; + + /** + * Miscellaneous server events + */ + public abstract class ServerEvent extends Event { ++ // Paper start ++ public ServerEvent(boolean isAsync) { ++ super(isAsync); ++ } ++ ++ public ServerEvent() { ++ super(!Bukkit.isPrimaryThread()); ++ } ++ // Paper end + } +diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java +index 343f238..3c38d85 100644 +--- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java ++++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java +@@ -21,6 +21,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable + private int maxPlayers; + + public ServerListPingEvent(final InetAddress address, final String motd, final int numPlayers, final int maxPlayers) { ++ super(); // Paper - Is this event being fired async? + Validate.isTrue(numPlayers >= 0, "Cannot have negative number of players online", numPlayers); + this.address = address; + this.motd = motd; +@@ -38,6 +39,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable + * @param maxPlayers the max number of players + */ + protected ServerListPingEvent(final InetAddress address, final String motd, final int maxPlayers) { ++ super(); // Paper - Is this event being fired async? + this.numPlayers = MAGIC_PLAYER_COUNT; + this.address = address; + this.motd = motd; +-- +2.7.1 +