From f5df0e811717e4e894e040eb2cdb7ee32b871702 Mon Sep 17 00:00:00 2001 From: chickeneer Date: Fri, 21 Nov 2025 03:44:18 -0600 Subject: [PATCH] Do not double add BaseCommands in RootCommand children #439 Also register command aliases more completely --- core/src/main/java/co/aikar/commands/BaseCommand.java | 1 + core/src/main/java/co/aikar/commands/RootCommand.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index 8d1b69ad..60a0b188 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -263,6 +263,7 @@ public abstract class BaseCommand { Collections.addAll(cmdList, cmdAliases); cmdList.remove(cmd); for (String cmdAlias : cmdList) { + registerSubclasses(cmdAlias); register(cmdAlias, this); } } diff --git a/core/src/main/java/co/aikar/commands/RootCommand.java b/core/src/main/java/co/aikar/commands/RootCommand.java index 3ac4da63..e0eff4d3 100644 --- a/core/src/main/java/co/aikar/commands/RootCommand.java +++ b/core/src/main/java/co/aikar/commands/RootCommand.java @@ -48,7 +48,9 @@ public interface RootCommand { subCommands.put(e.getKey(), e.getValue()); }); - children.add(command); + if (!children.contains(command)) { + children.add(command); + } } /**