diff options
Diffstat (limited to 'nms-patches/PacketStatusListener.patch')
-rw-r--r-- | nms-patches/PacketStatusListener.patch | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/nms-patches/PacketStatusListener.patch b/nms-patches/PacketStatusListener.patch index 2c03b69a..36d282ec 100644 --- a/nms-patches/PacketStatusListener.patch +++ b/nms-patches/PacketStatusListener.patch @@ -16,8 +16,8 @@ + public class PacketStatusListener implements PacketStatusInListener { - private final MinecraftServer minecraftServer; -@@ -12,11 +23,116 @@ + private static final IChatBaseComponent a = new ChatComponentText("Status request has been handled."); +@@ -14,17 +25,116 @@ public void a(IChatBaseComponent ichatbasecomponent) {} @@ -29,13 +29,16 @@ + // CraftBukkit end + public void a(PacketStatusInStart packetstatusinstart) { -- this.networkManager.handle(new PacketStatusOutServerInfo(this.minecraftServer.aG())); +- if (this.d) { + // this.networkManager.handle(new PacketStatusOutServerInfo(this.minecraftServer.aG())); + // CraftBukkit start - fire ping event -+ if (state != WAITING) { -+ networkManager.close(null); ++ if (this.state != WAITING) { + this.networkManager.close(PacketStatusListener.a); +- } else { +- this.d = true; +- this.networkManager.handle(new PacketStatusOutServerInfo(this.minecraftServer.aG())); + return; -+ } + } + state = PING; + final Object[] players = minecraftServer.getPlayerList().players.toArray(); + class ServerListPingEvent extends org.bukkit.event.server.ServerListPingEvent { @@ -126,9 +129,10 @@ public void a(PacketStatusInPing packetstatusinping) { - this.networkManager.handle(new PacketStatusOutPong(packetstatusinping.a())); +- this.networkManager.close(PacketStatusListener.a); + // CraftBukkit start + if (state != PING) { -+ networkManager.close(null); ++ this.networkManager.close(PacketStatusListener.a); + return; + } + state = DONE; |