diff --git a/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch b/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch index 66a5f3ba70..69cb6dcabf 100644 --- a/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch +++ b/CraftBukkit-Patches/0141-Process-conversation-input-on-the-main-thread.-Fixes.patch @@ -14,25 +14,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 c.warn(this.player.getName() + " tried to send an empty message"); } else if (getPlayer().isConversing()) { - getPlayer().acceptConversationInput(s); ++ // Spigot start + final String message = s; -+ -+ Waitable waitable = new Waitable() { ++ this.minecraftServer.processQueue.add( new Waitable() ++ { + @Override -+ protected Object evaluate() { -+ getPlayer().acceptConversationInput(message); ++ protected Object evaluate() ++ { ++ getPlayer().acceptConversationInput( message ); + return null; + } -+ }; -+ -+ this.minecraftServer.processQueue.add(waitable); -+ -+ try { -+ waitable.get(); -+ } catch (InterruptedException e) { -+ Thread.currentThread().interrupt(); -+ } catch (ExecutionException e) { -+ throw new RuntimeException(e); -+ } ++ } ); ++ // Spigot end } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Re-add "Command Only" flag check ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]);