Помогите Ошибка в LivingEntity..

Hasim2003

Ньюби
Баллы
1
Имя в Minecraft
Hasim
Здравствуйте.У меня в коде выдает ошибку,а именно в LivingEntity.Java не видит getHealth().Кратко расскажу о плагине,чтобы вы поймали суть.короче,я у меня 3 моба с рандомным именем при спавне.Например: ZOMBIE, BOSS, и ORC.
И даю каждому из них здоровье через setMaxHealth(), но не работает и вот именно поэтому создал метод через EntityDamageByEntityEvent.Но вот в этом коде не находит getHealth().
Помогите пожалуйста:
@EventHandler
public void onEntityDamage(EntityDamageByEntityEvent e)
{
LivingEntity ent = (LivingEntity)e.getEntity();
if(ent.getCustomName() != null)
{
if(e.getDamage() <= ent.getHealth())
{
ent.setHealth( ent.getHealth() - e.getDamage() );
} else
{
ent.setHealth(0);
}
}
}
 
Здравствуйте.У меня в коде выдает ошибку,а именно в LivingEntity.Java не видит getHealth().Кратко расскажу о плагине,чтобы вы поймали суть.короче,я у меня 3 моба с рандомным именем при спавне.Например: ZOMBIE, BOSS, и ORC.
И даю каждому из них здоровье через setMaxHealth(), но не работает и вот именно поэтому создал метод через EntityDamageByEntityEvent.Но вот в этом коде не находит getHealth().
Помогите пожалуйста:
@EventHandler
public void onEntityDamage(EntityDamageByEntityEvent e)
{
LivingEntity ent = (LivingEntity)e.getEntity();
if(ent.getCustomName() != null)
{
if(e.getDamage() <= ent.getHealth())
{
ent.setHealth( ent.getHealth() - e.getDamage() );
} else
{
ent.setHealth(0);
}
}
}
1) setMaxHealth() просто увеличивает кол-во возможного хп. Так что добавь еще setHealth()
2) Так и не понял проблему. Если в LivingEntity нету методов которые тебе нужны, то просто приведи тип к зомби
Пример
Zombie z=(Zombie) ent
Но перед этим надо проверить зомби ли это:
if(ent instanceof Zombie)
 
Что значит
? Скриншот есть?
Попробуй сделать через Damageable
Java:
    @EventHandler
    public void onHeromPoLbuDali(EntityDamageByEntityEvent event){
        LivingEntity ent = (LivingEntity)event.getEntity();
        if(ent.getCustomName() != null)
        {
            Damageable damag = (Damageable) ent;
            if(event.getDamage() <= damag.getHealth())
            {
                ent.setHealth( damag.getHealth() - event.getDamage() );
            } else{
         
                ent.setHealth(0d);
            }
        }
    }
 
Неужели есть какая-то разница? Или это для полностью кастомных энтити?
Говорят что так нагрузка на машину меньше(if (ent.getType() == EntityType.ZOMBIE)). Я могу ошибаться.
 
Говорят что так нагрузка на машину меньше(if (ent.getType() == EntityType.ZOMBIE)). Я могу ошибаться.
Ну, если рассуждать логически, то так и есть. Я просто подумал, что есть разница с программной точки зрения (результата, а не производительности), поэтому и спросил...
 
Назад
Верх