Войти или зарегистрироваться

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

Статус
Закрыто для дальнейших ответов.

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!

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

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

Не стал писать отдельное событие, воспользовался BKCommonLib
Спасибо за наводку
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх