diff --git a/minecraft/bukkit/src/main/java/dev/triumphteam/cmd/bukkit/BukkitCommandManager.java b/minecraft/bukkit/src/main/java/dev/triumphteam/cmd/bukkit/BukkitCommandManager.java index 553114d9..d4abe824 100644 --- a/minecraft/bukkit/src/main/java/dev/triumphteam/cmd/bukkit/BukkitCommandManager.java +++ b/minecraft/bukkit/src/main/java/dev/triumphteam/cmd/bukkit/BukkitCommandManager.java @@ -206,7 +206,18 @@ public void registerCommand(final @NotNull Object command) { @Override public void unregisterCommand(final @NotNull Object command) { - // TODO add a remove functionality + final RootCommandProcessor processor = new RootCommandProcessor<>( + command, + getRegistryContainer(), + getCommandOptions() + ); + + final String name = processor.getName(); + final BukkitCommand bukkitCommand = commands.remove(name); + if (bukkitCommand != null) { + bukkitCommand.unregister(commandMap); + bukkitCommands.remove(name); + } } private @NotNull BukkitCommand createAndRegisterCommand(