Помогите Список эффектов стрелы (1.15.2)

  • Автор темы Автор темы Bomb
  • Дата начала Дата начала

Bomb

Активный участник
Пользователь
Баллы
76
Как получить список эффектов стрелы в событии "EntityDamageByEntityEvent"?
Мне удалось получить только один эффект.
Код:
@EventHandler

    public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
        if(event.getEntity() instanceof Player) {
            if (event.getCause().equals(EntityDamageEvent.DamageCause.PROJECTILE)) {
                if(event.getDamager().getType().equals(EntityType.ARROW)) {
                    Arrow arrow = (Arrow) event.getDamager();
                    PotionEffectType effecttype = arrow.getBasePotionData().getType().getEffectType();
                    Player player = (Player) event.getEntity();
                    Location playerlocation = player.getLocation();
                    player.sendMessage("EffectType: " + effecttype.getName());
                }
            }
        }
    }
 
Ошибочка. Неправильно понял вопрос.*
 
Последнее редактирование:
arrow.getCustomEffects()
 
Спасибо всем, вопрос решился. Дело в том что я думал что getCustomEffects() не работает потому что я проверял его ванильным эффектом черепашьей мощи который не является CustomEffect но у него 2 эффекта медлительность и сопротивление которые через getBasePotionData() не получить. Похоже что это API нуждается в переработке так как начали появиться ванильные стрелы с несколькими эффектами.
 
Спасибо всем, вопрос решился. Дело в том что я думал что getCustomEffects() не работает потому что я проверял его ванильным эффектом черепашьей мощи который не является CustomEffect но у него 2 эффекта медлительность и сопротивление которые через getBasePotionData() не получить. Похоже что это API нуждается в переработке так как начали появиться ванильные стрелы с несколькими эффектами.
Нет, всё правильно. Как и у зелий, база также отвечает за название и цвет наконечника в инвентаре. Это прописано в ванили, и отказаться от этого было бы не самым верным решением.
 
Похоже что это API нуждается в переработке
Я имел ввиду что
Код:
PotionEffectType effecttype = arrow.getBasePotionData().getType().getEffectType();
лучше было бы заменить на лист так как появились зелья и стрелы с 2 эффектами
Код:
List<PotionEffectType> effecttypes = arrow.getBasePotionData().getType().getEffectTypes();
 
Я имел ввиду что
Код:
PotionEffectType effecttype = arrow.getBasePotionData().getType().getEffectType();
лучше было бы заменить на лист так как появились зелья и стрелы с 2 эффектами
Код:
List<PotionEffectType> effecttypes = arrow.getBasePotionData().getType().getEffectTypes();
Хм, и правда. Советую написать об этом им самим.
 
Назад
Верх