package net.CyanWool.api.entity; import java.util.List; import net.CyanWool.api.SoundInfo; import net.CyanWool.api.potions.PotionEffect; import org.spacehq.mc.protocol.data.game.values.entity.Effect; public interface EntityLivingBase extends Entity { public boolean isEntityUndead(); public float getEyeHeight(); public boolean canAttackWithItem(); public void damage(float amount); public void damage(float amount, Entity damaged); public void addHealth(int i); public void onDamageEntity(Entity damager, float damage); public void onAttackEntity(Entity target, float damage); public void onDeath(); public void onWalking(); public boolean interact(EntityLivingBase interacter); public SoundInfo getDamageSound(); public SoundInfo getTalkSound(); public SoundInfo getDeathSound(); public void setDeathSound(SoundInfo sound); public void setDamageSound(SoundInfo sound); public void setTalkSound(SoundInfo sound); public boolean playDamageSound(); public boolean playTalkSound(); public boolean playDeathSound(); // for systems components public float getMaxHealth(); public boolean isJumping(); public void setHealth(float health); public float getHealth(); public void setJumping(boolean flag); public void setTarget(EntityLivingBase entity); public void setMaxHealth(float health); public EntityLivingBase getTarget(); public String getDisplayName(); public void setDisplayName(String name); public boolean hasDisplayName(); public boolean isRenderDisplayName(); public void setRenderDisplayName(boolean flag); public List<PotionEffect> getPotionEffects(); public void addPotionEffect(PotionEffect potion); public void removePotionEffect(Effect effect); }