package org.project.entity; import org.project.item.weapons.Weapon; public interface Entity { void attack(Entity target); void defend(); void heal(int health); void takeDamage(int damage); void takeDamage(int damage, Entity target); int getHP(); void setHP(int hp); int getMaxHP(); int getMP(); void setMP(int mana); void setMaxHP(int maxHP); int getMaxMP(); void setMaxMP(int maxMP); boolean isDefending(); void setDefending(boolean defending); double getDefendRate(); void setDefendRate(double defendRate); Weapon getWeapon(); double getAttackMultiplier(); void setAttackMultiplier(double multiplier); default boolean isAlive() { int hp = getHP(); return hp > 0; } }