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

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

Discussion in 'Разработка плагинов для новичков' started by TheChest, May 19, 2016.

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

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

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

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

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

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

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

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

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

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

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

Share This Page