@Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandlabel, String[] args) {
        if (args.length > 0) {
            for (STCommand command : plugin.getCommands()) {
                if (command.getAliases().contains(args[0].toLowerCase())) {
                    if (sender.hasPermission(STPermission.ADMIN.getPermission()) || PermissionUtils.canExecute(command, sender)) {
                        return command.execute(plugin, sender, args[0], Arrays.copyOfRange(args, 1, args.length));
                    } else {
                        sender.sendMessage(plugin.getLocalisation().get(LocalisationEntry.ERR_PERMISSION_DENIED));
                        return true;
                    }
                }
            }
        } else { // No args given
            if (defaultCommand == null) {
                return false;
            } else {
                return defaultCommand.execute(plugin, sender, commandlabel, args);
            }
        }
        return false;
    }