Вопрос Не работает условие в команде

Версия Minecraft
1.12.X

MyphicalBro

Пользователь
Сообщения
184
Решения
4
У меня плагин похожий на StaffWork :) И в проверке группы игрока проверка которая переключает группу игрока из выключенной во включенную работает, а наоборот нет. Подскажите пж что не так я написал?

Вот блок кода с проверкой группы:

Java:
            if (Utils.getPlayerGroup(player, offGroups) == null) {
                if (Utils.getPlayerGroup(player, onGroups) == null) {
                    sender.sendMessage(Utils.color(cfg.getString("messages.NotStaff")));
                }
                else {
                    String group = Utils.getPlayerGroup(player, onGroups);

                    CommandSender ConsoleCommandSender = Plugin.getInstance().getServer().getConsoleSender();
                    Plugin.getInstance().getServer().dispatchCommand(ConsoleCommandSender,
                            "lp user " + player.getDisplayName() + " parent set off" + group);
                    Plugin.getInstance().getServer().broadcastMessage(
                            Utils.color(cfg.getString("messages.StaffWorkOff")
                                    .replace("{player}", player.getDisplayName())));
                }
            }
            else {
                String group = Utils.getPlayerGroup(player, offGroups);

                CommandSender ConsoleCommandSender = Plugin.getInstance().getServer().getConsoleSender();

                for (int i = 0; i < offGroups.toArray().length; i++) {
                    assert group != null;
                    if (group.equals(offGroups.get(i))) {
                        String setGroup = onGroups.get(i);
                        Plugin.getInstance().getServer().dispatchCommand(ConsoleCommandSender,
                                "lp user " + player.getDisplayName() + " parent set " + setGroup);
                        Plugin.getInstance().getServer().broadcastMessage(
                                Utils.color(cfg.getString("messages.StaffWorkOn")
                                        .replace("{player}", player.getDisplayName())));
                    }
                }
            }

И если нужно метод getPlayerGroup:

Java:
    public static String getPlayerGroup(Player player, List<String> possibleGroups) {
        for (String group : possibleGroups) {
            if (player.hasPermission("group." + group)) {
                return group;
            }
        }
        return null;
    }
 
замени костыли на нормальное использование luckyperms api ( )
А не подскажите как именно, пожалуйста. Просто я новичок в создании плагинов, и никогда не работал с различными API
 
А не подскажите как именно, пожалуйста. Просто я новичок в создании плагинов, и никогда не работал с различными API
Тебе нужно добавить зависимость luckperms в свой проект, тут написано как это сделать. Там же есть информация про базовое использование. А конкретно про получение группы игрока написано в ссылке, которую отправили выше. И кстати, я бы посоветовал задуматься, может есть другой способ реализации того, что ты хочешь, без использования групп
 
Тебе нужно добавить зависимость luckperms в свой проект, тут написано как это сделать. Там же есть информация про базовое использование. А конкретно про получение группы игрока написано в ссылке, которую отправили выше. И кстати, я бы посоветовал задуматься, может есть другой способ реализации того, что ты хочешь, без использования групп
Извини что так долго, я заменил на методы ил LuckPerms'a и все равно не работает, да и по сути это роли большой не играло ибо метод должен работать так и так
 
Назад
Сверху Снизу