diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index 292710c3..30410e71 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -48,6 +48,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; @@ -311,8 +312,11 @@ public abstract class BaseCommand { final Annotations annotations = manager.getAnnotations(); boolean foundCatchUnknown = false; boolean isParentEmpty = parentSubcommand == null || parentSubcommand.isEmpty(); + Set methods = new LinkedHashSet<>(); + Collections.addAll(methods, this.getClass().getDeclaredMethods()); + Collections.addAll(methods, this.getClass().getMethods()); - for (Method method : this.getClass().getMethods()) { + for (Method method : methods) { method.setAccessible(true); String sublist = null; String sub = getSubcommandValue(method);