From 80988ec9865dbd1b41ab7bbd0f3d9574725907f0 Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 4 Oct 2020 12:33:02 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Throw=20an=20IllegalStateException?= =?UTF-8?q?=20when=20trying=20to=20register=20async=20completions=20on=20a?= =?UTF-8?q?n=20unsupported=20server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/commandframework/paper/PaperCommandManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cloud-minecraft/cloud-paper/src/main/java/cloud/commandframework/paper/PaperCommandManager.java b/cloud-minecraft/cloud-paper/src/main/java/cloud/commandframework/paper/PaperCommandManager.java index 05714d95..720bb068 100644 --- a/cloud-minecraft/cloud-paper/src/main/java/cloud/commandframework/paper/PaperCommandManager.java +++ b/cloud-minecraft/cloud-paper/src/main/java/cloud/commandframework/paper/PaperCommandManager.java @@ -85,8 +85,13 @@ public class PaperCommandManager extends BukkitCommandManager { /** * Register asynchronous completions. This requires all argument parsers to be thread safe, and it * is up to the caller to guarantee that such is the case + * + * @throws IllegalStateException when the server does not support asynchronous completions. */ - public void registerAsynchronousCompletions() { + public void registerAsynchronousCompletions() throws IllegalStateException { + if (!this.queryCapability(CloudBukkitCapabilities.ASYNCHRONOUS_COMPLETION)) { + throw new IllegalStateException("Failed to register asynchronous command completion listener."); + } Bukkit.getServer().getPluginManager().registerEvents(new AsyncCommandSuggestionsListener<>(this), this.getOwningPlugin()); }