From 9db613905fa3f16eed7c5a0726f5b360b729f22e Mon Sep 17 00:00:00 2001 From: MD <1917406+mdcfe@users.noreply.github.com> Date: Mon, 30 Nov 2020 15:30:16 +0000 Subject: [PATCH] Dispatch commands on main thread when run from XMPP --- .../com/earth2me/essentials/xmpp/XMPPManager.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java index 4b6f70c5674..4fc9a2dbf12 100644 --- a/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java +++ b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java @@ -320,11 +320,13 @@ private void sendPrivateMessage(final Chat chat, final String message) { private void sendCommand(final Chat chat, final String message) { if (config.getStringList("op-users").contains(StringUtils.parseBareAddress(chat.getParticipant()))) { - try { - parent.getServer().dispatchCommand(Console.getInstance().getCommandSender(), message.substring(1)); - } catch (final Exception ex) { - logger.log(Level.SEVERE, ex.getMessage(), ex); - } + parent.getServer().getScheduler().runTask(parent, () -> { + try { + parent.getServer().dispatchCommand(Console.getInstance().getCommandSender(), message.substring(1)); + } catch (final Exception ex) { + logger.log(Level.SEVERE, ex.getMessage(), ex); + } + }); } }