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

Помогите Перехват команды

Тема в разделе "Разработка плагинов для новичков", создана пользователем Iggi, 1 окт 2013.

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

    Iggi Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Всем привет. Нужно блокировать команду /rg addowner. Удалить ее из прав не предлагайте, нужно, чтобы выводилось сообщение.
    Кое-что я наклепал, но тут не понятно - что писать в plugin.yml, чтобы блокировать не всю ветку команд. Была идея выпилить команду из самого WG. Но там в plugin.yml их почему-то нет.
    Код:
    @Override
      public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
      if((command.getName().equalsIgnoreCase("rg") || command.getName().equalsIgnoreCase("region")) && args[0].equalsIgnoreCase("addowner")){
     sender.sendMessage(ChatColor.DARK_RED + "Внимание! Из-за частых случаев кражи домов данная команда запрещена.");
             sender.sendMessage(ChatColor.DARK_RED + "Рекомендуется добавлять в мемберов (/rg addmember)");
             return true;
      }
      return false;
      }
    
     
  2. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
  3. Автор темы
    Iggi

    Iggi Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Спасибо, я попробую.
    Можете еще подсказать? Поскольку команды каждый раз разные (в зависимости от названия региона), то, как я понял, надо действовать через IndexOf.
    Прочитал, что если IndexOf не находит строку, то возвращает -1.
    В моем случае ничего не работает, ни
    event.getMessage().indexOf("addowner") != -1;
    ни
    event.getMessage().indexOf("addowner") > 0;
     
    KoBoT нравится это.
  4. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    советы говнокодера
    Можно засплитить event.getMessage() и уже сверять второе значение с "addowner"
     
  5. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Я ловлю обычно так: event.getMessage().startsWith ("/rg addowner")
     
  6. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    /rg ADdowner и эта проверка пролетает мимо
     
    Сникерсни нравится это.
  7. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    .toLowerCase() и проблема решена )
     
    Сникерсни нравится это.
  8. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    /region addowner и проверка пройдена
     
    slavik123123123 нравится это.
  9. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    ну алиасы комманд учитывать же нужно. rg, region, reg даже помоему.
     

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