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

Помогите Отменить PlayerInteractEvent другого плагина

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

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

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

    Баллы:
    76
    Нужно отменить клик по определенной табличке, которую обрабатывает CMI.
    Написал такой тестовый вариант
    PHP:
    @EventHandler(priority EventPriority.HIGHESTignoreCancelled true)
        public 
    void onSignInteract(PlayerInteractEvent event) {
            
    event.setCancelled(true);
            
    event.getPlayer().sendMessage("da");
        }
    но он не отменяет клик по табличке - действие CMI все равно выполняется быстрее. Декомпилировав класс, который отвечает за обработку нужного мне клика у CMI я заметил, что приоритет ивента HIGHEST, но даже мой MONITOR по какой-то причине срабатывает позже.
    Как бороться?
     
  2. alexandrage

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

    Баллы:
    173
    Ну на то он и MONITOR, самый последний.
     
  3. Автор темы
    reZero

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

    Баллы:
    76
    Да и LOWEST не работал
     
  4. alexandrage

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

    Баллы:
    173
    Значит там не стоит ignoreCancelled = true в CMI
     
  5. Автор темы
    reZero

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

    Баллы:
    76
    Именно. Там просто в коде проверка на !event.isCancelled.
    Какие есть костыли для того, чтобы все-таки запретить кликать?
     

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