From dc90551168b2e3387e0faac24b213cb4d96e579d Mon Sep 17 00:00:00 2001 From: Zach Levis Date: Tue, 15 Dec 2020 20:58:20 -0800 Subject: [PATCH] fabric: Use stateful command manager --- .../commandframework/fabric/FabricCommandManager.java | 4 ++++ .../fabric/FabricCommandRegistrationHandler.java | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandManager.java b/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandManager.java index cf5e5a78..da40e9b0 100644 --- a/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandManager.java +++ b/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandManager.java @@ -149,4 +149,8 @@ public class FabricCommandManager extends CommandManager implements Brigad return this.brigadierManager; } + final void registrationCalled() { + this.transitionOrThrow(RegistrationState.REGISTERING, RegistrationState.AFTER_REGISTRATION); + } + } diff --git a/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandRegistrationHandler.java b/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandRegistrationHandler.java index 4191775b..a3a42921 100644 --- a/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandRegistrationHandler.java +++ b/cloud-minecraft/cloud-fabric/src/main/java/cloud/commandframework/fabric/FabricCommandRegistrationHandler.java @@ -50,7 +50,6 @@ import java.util.concurrent.ConcurrentHashMap; public final class FabricCommandRegistrationHandler implements CommandRegistrationHandler { private @MonotonicNonNull FabricCommandManager commandManager; private final Set> registeredCommands = ConcurrentHashMap.newKeySet(); - private boolean commandRegistrationCalled; void initialize(final FabricCommandManager manager) { this.commandManager = manager; @@ -60,16 +59,13 @@ public final class FabricCommandRegistrationHandler implements CommandRegistr @Override @SuppressWarnings("unchecked") public boolean registerCommand(@NonNull final Command command) { - if (this.commandRegistrationCalled) { - throw new IllegalStateException("too late!"); - } return this.registeredCommands.add((Command) command); } private void registerAllCommands(final CommandDispatcher dispatcher, final boolean isDedicated) { - this.commandRegistrationCalled = true; + this.commandManager.registrationCalled(); for (final Command command : this.registeredCommands) { - registerCommand(dispatcher.getRoot(), command); + this.registerCommand(dispatcher.getRoot(), command); } }