Update from upstream SpigotMC

No need to wait for the conversation to finish SpigotMC/Spigot@67b502b6f8
This commit is contained in:
Zach Brown
2014-07-23 10:56:36 -05:00
parent 5d8bbb9c08
commit 33c524c29b

View File

@@ -14,25 +14,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
c.warn(this.player.getName() + " tried to send an empty message"); c.warn(this.player.getName() + " tried to send an empty message");
} else if (getPlayer().isConversing()) { } else if (getPlayer().isConversing()) {
- getPlayer().acceptConversationInput(s); - getPlayer().acceptConversationInput(s);
+ // Spigot start
+ final String message = s; + final String message = s;
+ + this.minecraftServer.processQueue.add( new Waitable()
+ Waitable waitable = new Waitable() { + {
+ @Override + @Override
+ protected Object evaluate() { + protected Object evaluate()
+ getPlayer().acceptConversationInput(message); + {
+ getPlayer().acceptConversationInput( message );
+ return null; + return null;
+ } + }
+ }; + } );
+ + // Spigot end
+ this.minecraftServer.processQueue.add(waitable);
+
+ try {
+ waitable.get();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ } catch (ExecutionException e) {
+ throw new RuntimeException(e);
+ }
} else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Re-add "Command Only" flag check } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Re-add "Command Only" flag check
ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]); ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]);