1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Двойная проверка при одинаковом значении

Тема в разделе "Разработка плагинов для новичков", создана пользователем FoxyMan228822, 26 июн 2020.

  1. Автор темы
    FoxyMan228822

    FoxyMan228822 Активный участник

    Баллы:
    61
    Имя в Minecraft:
    FoxyMan228822
    Здравствуйте. проблема такая что если у двух игроков plrcom[0] в конфиге будет одно и тоже значение plrcom[1], то оно сначала разрешает а потом запрещает, как это можно исправить?

    Код:
    for (String listic : this.plrcmd) {
                  String[] plrcom = listic.split(":");
                  String pl = plrcom[0];
                  if (com.toLowerCase().startsWith("/" + plrcom[1] + " ") || com.equalsIgnoreCase("/" + plrcom[1])) {
                      if(pl.equalsIgnoreCase(playername)) {
                          e.getPlayer().sendMessage("§8[§6" + this.prefix + "§8] §6Доступ §aразрешен§6!");
                      } else {
                          e.getPlayer().sendMessage("§8[§6" + this.prefix + "§8] §cОтказано §6в доступе!");
                          this.logToFile("Игрок " + e.getPlayer().getName() + " попытался ввести команду " + com + "!");
                          e.setCancelled(true);
                    }
                  }
            }
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Думаю, тебе нужно априори изменить подход.
    Вместо списка(или что там у тебя) plrcmd используй Map<String, Set<String>>, где ключ String - это команда, а Set<String>(или Set<UUID>) - список игроков.
    При вводе команды игроком проверяешь наличие команды в map'е. Если есть - проверяешь наличие у команды игрока, и в зависимости от этого разрешаешь или отказываешь.
     

Поделиться этой страницей