public void registerCommand(SkyblockCommand skyblockCommand) { registeredCommands.put(skyblockCommand.getCommandLabel(), skyblockCommand); if (skyblockCommand.getAliases() == null || skyblockCommand.getAliases().length == 0) { return; } for (String alias : skyblockCommand.getAliases()) { registeredCommands.put(alias, skyblockCommand); } }
@Override public boolean onCommand( CommandSender commandSender, Command cmd, String commandLabel, String[] args) { if (!cmd.getName().equalsIgnoreCase("is")) return true; if (args.length == 0) { // Send information about all the registered commands. return true; } String subCommand = args[0]; if (!registeredCommands.containsKey(subCommand)) { // Send command not found. return true; } SkyblockCommand skyblockCommand = registeredCommands.get(subCommand); String[] newArray = Arrays.copyOfRange(args, 1, args.length); if (skyblockCommand.isForcePlayer()) { if (!(commandSender instanceof Player)) { // Send error. return true; } } skyblockCommand.getExecutor().execute(commandSender, newArray); return true; }