diff --git a/base/command/src/main/java/cc/carm/lib/easyplugin/command/CommandHandler.java b/base/command/src/main/java/cc/carm/lib/easyplugin/command/CommandHandler.java index 147e09a..e7c15da 100644 --- a/base/command/src/main/java/cc/carm/lib/easyplugin/command/CommandHandler.java +++ b/base/command/src/main/java/cc/carm/lib/easyplugin/command/CommandHandler.java @@ -16,6 +16,7 @@ public abstract class CommandHandler implements TabExecutor, NamedExecutor { protected final @NotNull JavaPlugin plugin; protected final @NotNull String cmd; + protected final @NotNull List aliases; protected final @NotNull Map registeredCommands = new HashMap<>(); protected final @NotNull Map registeredHandlers = new HashMap<>(); @@ -27,8 +28,13 @@ public abstract class CommandHandler implements TabExecutor, NamedExecutor { } public CommandHandler(@NotNull JavaPlugin plugin, @NotNull String cmd) { + this(plugin, cmd, new String[0]); + } + + public CommandHandler(@NotNull JavaPlugin plugin, @NotNull String cmd, @NotNull String... aliases) { this.plugin = plugin; this.cmd = cmd; + this.aliases = Arrays.asList(aliases); } public abstract void noArgs(CommandSender sender); @@ -37,6 +43,11 @@ public abstract class CommandHandler implements TabExecutor, NamedExecutor { public abstract void noPermission(CommandSender sender); + @Override + public @NotNull List getAliases() { + return aliases; + } + @Override public String getName() { return this.cmd; diff --git a/base/command/src/main/java/cc/carm/lib/easyplugin/command/NamedExecutor.java b/base/command/src/main/java/cc/carm/lib/easyplugin/command/NamedExecutor.java index 045f616..1393302 100644 --- a/base/command/src/main/java/cc/carm/lib/easyplugin/command/NamedExecutor.java +++ b/base/command/src/main/java/cc/carm/lib/easyplugin/command/NamedExecutor.java @@ -2,16 +2,13 @@ package cc.carm.lib.easyplugin.command; import org.bukkit.permissions.Permissible; -import java.util.Collections; import java.util.List; public interface NamedExecutor { String getName(); - default List getAliases() { - return Collections.singletonList(getName()); - } + List getAliases(); default boolean hasPermission(Permissible permissible) { return true; diff --git a/base/command/src/main/java/cc/carm/lib/easyplugin/command/SubCommand.java b/base/command/src/main/java/cc/carm/lib/easyplugin/command/SubCommand.java index 3b6d447..ac912f7 100644 --- a/base/command/src/main/java/cc/carm/lib/easyplugin/command/SubCommand.java +++ b/base/command/src/main/java/cc/carm/lib/easyplugin/command/SubCommand.java @@ -11,7 +11,7 @@ import java.util.List; public abstract class SubCommand implements NamedExecutor { private final String name; - private final String[] aliases; + private final List aliases; public SubCommand(String name) { this(name, new String[0]); @@ -19,7 +19,7 @@ public abstract class SubCommand implements NamedExecutor { public SubCommand(String name, String... aliases) { this.name = name; - this.aliases = aliases; + this.aliases = Arrays.asList(aliases); } @@ -30,7 +30,7 @@ public abstract class SubCommand implements NamedExecutor { @Override public List getAliases() { - return Arrays.asList(this.aliases); + return this.aliases; } public abstract Void execute(JavaPlugin plugin, CommandSender sender, String[] args);