Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как отменить ивент, который обрабатывается несколькими плагинами

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheChest, 19 май 2016.

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

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

    Баллы:
    66
    Имя в Minecraft:
    Chest
    Мне нужно отменить чат ивент, который обрабатывается другим плагином.
    Например когда я пишу что-то в чат, другой плагин пишет в чат "ивент не отменен"
    Я пробовал так:
    Код:
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onChat(AsyncPlayerChatEvent e){
    e.setCancelled(true);
    p.sendMessage("ивент отменен");
    }
    Но в чате мне напишет:
    [другой плагин] ивент не отменен
    [мой плагин] ивент отменен
     
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/EventPriority.html
    Чем выше приоритет, тем первее событие будет передано в твой обработчик. Чем ниже, тем более последнее слово будет за обработчиком. Обработчики с приоритетом MONITOR вообще самые-самые последние обрабатываются. Если нужно обработать и отменить самым первым, то тебе нужно LOWEST.
     
    Последнее редактирование: 20 май 2016
  4. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я тоже так думал, оказалось наоборот.[DOUBLEPOST=1463683706,1463683664][/DOUBLEPOST]
    Еще вроде бы событие с приоритетом Monitor уже нельзя отменить.
     
  5. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Lowest вызывается самым первым. А приоритеты выше уже изменяют его.
    Highest - Это уже финальное действие, которое определяет то, что произойдёт в конечном итоге.
    https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/EventPriority.html
     
  6. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Тупанул, прочитал сообщение @Reality_SC, а ответил на твое. События вызываются так LOWEST - LOW - NORMAL(все эвенты без приоритета) - HIGHEST - HIGH - MONITOR
     

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