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

Помогите BlockEvent

Discussion in 'Разработка плагинов для новичков' started by Den42, Mar 13, 2017.

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

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

    Trophy Points:
    66
    Помогите! Как добавить обработчика для BlockEvent?
     
  2. Хостинг MineCraft
    <
  3. OsipXD

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

    Trophy Points:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Разве можно ловить это событие?
     
    Last edited: Mar 13, 2017
  4. Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    Никак, данное событие не имеет HandlerList, соответственно подписаться на него нельзя.
     
  5. Dymeth

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

    Trophy Points:
    76
    Ты можешь создать собственное событие, наследующее BlockEvent и его уже регистрировать.
    Если хочешь, допустим, отменять и установку, и уничтожение блоков - придётся слушать два события: BlockBreakEvent & BlockPlaceEvent.
    Регистрируется класс с эвентами точно так же, как и любой другой слушатель событий
     
  6. GoodCoder

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

    Trophy Points:
    76
    Только так. Подписаться на абстрактный класс нельзя.
    Code:
    public class Example implements Listener {
    
       @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
       public void handleBlockPlace(BlockPlaceEvent e) {
         processBlockEvent(e);
       }
    
       @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
       public void handleBlockPlace(BlockBreakEvent e) {
         processBlockEvent(e);
       }
    
       private void processBlockEvent(BlockEvent event) {
         // тут ваш код
       }
    
    }
     

Share This Page