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

Помогите Как поймать передвижение Entity?

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

Статус темы:
Закрыта.
  1. Автор темы
    Lama_Ke

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

    Баллы:
    61
    Имя в Minecraft:
    Lama_Ke
    Хочу поймать передвижение Entity, но событие EntityMoveEvent не нахожу.
    Пытаюсь сделать следующим образом
    Код:
    @EventHandler
        public void EntityMove(final EntityEvent e) {
            new BukkitRunnable() {
                @Override
                public void run(){
                    if (e.getEntity().isDead()){
                        this.cancel();
                    }
                    try
                    {
                        LivingEntity entity = (LivingEntity) e;
                        Location location = entity.getLocation();
                        ProtectedRegion region = getRegion(location);
                    } catch (Exception e) {}
                }
            }.runTaskTimer((Plugin) Plugin.instance, 0, 0);
        }
    И ничего не получается
    Код:
    org.bukkit.plugin.IllegalPluginAccessException: Unable to find handler list for event org.bukkit.event.entity.EntityEvent. Static getHandlerList method required!

    Подскажите, как в целом можно отследить передвижение живых энтити.
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ошибка такая, потому что нельзя "прикрепиться" к ивентам, которые для этого не предназначены (отсутствующий метод getHandlerList, собственно).
    EntityMoveEvent есть в Paper, но не в Spigot/Bukkit. Учти, что тяжелые операции не следует на нем выполнять.

    upd: Неуверен, что он есть на старых версиях вроде 1.12. Если так, то могу лишь посоветовать либо написать свой, через шедулер и просмотр всех мобов в мирах, либо обратиться в сторону BKCommonLib.
     
  3. Автор темы
    Lama_Ke

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

    Баллы:
    61
    Имя в Minecraft:
    Lama_Ke
    Не стал писать отдельное событие, воспользовался BKCommonLib
    Спасибо за наводку
     
Статус темы:
Закрыта.

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