Помогите Выполнение действия если у моба имя равно заданому

AntonMikon

Активный участник
Пользователь
Баллы
66
Как сделать, чтобы выполнялось действие, когда игрок убивает моба из mythic mobs.
Код:
    public void onKill(final EntityDeathEvent e) {
        final LivingEntity killed = e.getEntity();
        final String ent = e.getEntity().getName();
        if (killed.getKiller() instanceof AnimalTamer) {
            final Player killer = killed.getKiller();
            if (ent.equalsIgnoreCase("§7RussianText")) {
                killer.sendMessage("U killed this mob");
            }
        }
    }
 
У mythicmobs есть API https://mythicmobs.net/javadocs/ С помощью него можно моба проверить не просто по имени, а по принадлежности к MM, чтобы, например, не считать обычного переименованного зомби на моба MM.
Код:
io.lumine.xikage.mythicmobs.mobs.MobManager mobManager = ...; //получить менеджера из MM при загрузке пагина
Optional<ActiveMob> mob = mobManager.getActiveMob(ent.getUniqueId()).;
if (mob.isPresent() && ent.getName().equalsIgnoreCase("name")) {
  //...
}

Ваш код выглядит правильным, он не работает? Событие зарегистрировано (@EventHandler)?

P.S. Вместо обычного EntityDeathEvent можно использовать
MythicMobDeathEvent
 
Зачем делать лишний плагин ,когда это уже есть в самом плагине?
 
У mythicmobs есть API https://mythicmobs.net/javadocs/ С помощью него можно моба проверить не просто по имени, а по принадлежности к MM, чтобы, например, не считать обычного переименованного зомби на моба MM.
Код:
io.lumine.xikage.mythicmobs.mobs.MobManager mobManager = ...; //получить менеджера из MM при загрузке пагина
Optional<ActiveMob> mob = mobManager.getActiveMob(ent.getUniqueId()).;
if (mob.isPresent() && ent.getName().equalsIgnoreCase("name")) {
  //...
}

Ваш код выглядит правильным, он не работает? Событие зарегистрировано (@EventHandler)?

P.S. Вместо обычного EntityDeathEvent можно использовать
MythicMobDeathEvent

Убиваю, ничего не происходит. Имя моба &4Тестовый. В коде пишу как "&7\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439"
& соответственно меняю на нормальный знак.
Событие зарегистрировано
 
Ну так выведи название моба которого ты убиваешь, либо пройдись дебагом. На форуме где то тема с инструкцией есть.
 
Назад
Верх