From 3d991969a4a2a4490524309060e287d6ac1b7fb4 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Thu, 5 Dec 2013 13:55:53 +1100
Subject: [PATCH] Fix Broken Async Chat


diff --git a/src/main/java/net/minecraft/server/PacketPlayInChat.java b/src/main/java/net/minecraft/server/PacketPlayInChat.java
index 604a7af..d419f0f 100644
--- a/src/main/java/net/minecraft/server/PacketPlayInChat.java
+++ b/src/main/java/net/minecraft/server/PacketPlayInChat.java
@@ -43,7 +43,25 @@ public class PacketPlayInChat extends Packet {
     }
     // CraftBukkit end
 
-    public void handle(PacketListener packetlistener) {
+    // Spigot Start
+    private static final java.util.concurrent.ExecutorService executors = java.util.concurrent.Executors.newCachedThreadPool(
+            new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon( true ).setNameFormat( "Async Chat Thread - #%d" ).build() );
+    public void handle(final PacketListener packetlistener)
+    {
+        if ( a() )
+        {
+            executors.submit( new Runnable()
+            {
+
+                @Override
+                public void run()
+                {
+                    PacketPlayInChat.this.a( (PacketPlayInListener) packetlistener );
+                }
+            } );
+            return;
+        }
+        // Spigot End
         this.a((PacketPlayInListener) packetlistener);
     }
 }
-- 
1.8.3.2