Помогите Как увеличить силу взрыва у кристалла энда?

  • Автор темы Автор темы ItsWay
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

ItsWay

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
ItsWay
На сервере присутсвует возможность сделать себе на броню зачарования: защита 6 и взрывоустойчивость 5. При этом, если тебя будет взрывать кристалл, то он будет сносить мало хп. Как можно в плагине усилить силу взрыва кристалла, то-есть что бы при взрыве кристалла если игрок стоит в его радиусе ему больше сносило хп от взрыва?
 
Используй EntityDamageByEntityEvent - просто проверь, что event.getDamager().getType() == EntityType.ENDER_CRYSTAL, и соответственно увеличивай урон.
 
через event.getDamager не срабатывает, так же сносит, сколько бы не ставил, вот код:

Код:
    public void onCristalExplode(EntityDamageByEntityEvent event) {
        Entity damager = event.getDamager();
        Entity entity = event.getEntity();
        if(damager.getType() == EntityType.ENDER_CRYSTAL) {
            
            if(entity instanceof Player) {
                event.setDamage(130);
            }
            
        }
    }
 
через event.getDamager не срабатывает, так же сносит, сколько бы не ставил, вот код:

Код:
    public void onCristalExplode(EntityDamageByEntityEvent event) {
        Entity damager = event.getDamager();
        Entity entity = event.getEntity();
        if(damager.getType() == EntityType.ENDER_CRYSTAL) {
           
            if(entity instanceof Player) {
                event.setDamage(130);
            }
           
        }
    }
getFinalDamage изменяется? Событие вызывается?
Почему кристалл проверяете через getType, а игрока через instanceof?
 
через event.getDamager не срабатывает, так же сносит, сколько бы не ставил, вот код:

Код:
    public void onCristalExplode(EntityDamageByEntityEvent event) {
        Entity damager = event.getDamager();
        Entity entity = event.getEntity();
        if(damager.getType() == EntityType.ENDER_CRYSTAL) {
           
            if(entity instanceof Player) {
                event.setDamage(130);
            }
           
        }
    }
Рабочий ивент:

Код:
            @EventHandler
            public void onDamage(EntityDamageByEntityEvent e){
                if(e.getDamager().getType() != EntityType.ENDER_CRYSTAL) return;
                if(e.getEntity().getType() != EntityType.PLAYER) return;
                e.setDamage(130);
            }
Если дамаг будет 0 то ивент даже не вызнаётся, так может быть ели стоит difficulty peaceful
 
getFinalDamage изменяется? Событие вызывается?
Почему кристалл проверяете через getType, а игрока через instanceof?
На самом деле я забыл объявить методу что он ивент, через @EventHandler. Спасибо всем, тема точно закрыта.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх