From 93ffd271994e903b983d5dd64811d4feb6c92f51 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 8e1740d..cb614ef 100644
--- a/src/main/java/net/minecraft/server/PacketPlayInChat.java
+++ b/src/main/java/net/minecraft/server/PacketPlayInChat.java
@@ -30,7 +30,26 @@ public class PacketPlayInChat implements Packet {
         return this.a;
     }
 
-    public void a(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() );
+    @Override
+    public void a(final PacketListener packetlistener)
+    {
+        if ( !a.startsWith("/") )
+        {
+            executors.submit( new Runnable()
+            {
+
+                @Override
+                public void run()
+                {
+                    PacketPlayInChat.this.a( (PacketListenerPlayIn) packetlistener );
+                }
+            } );
+            return;
+        }
+        // Spigot End
         this.a((PacketListenerPlayIn) packetlistener);
     }
 }
-- 
2.1.0