*/
public void setHealth(float health, HealthChangeCause cause) {
if (!VanillaConfiguration.PLAYER_SURVIVAL_ENABLE_HEALTH.getBoolean()) {
return;
}
EntityHealthChangeEvent event = new EntityHealthChangeEvent(getOwner(), cause, health - getHealth());
getEngine().getEventManager().callEvent(event);
if (!event.isCancelled()) {
if (getHealth() + event.getChange() > getMaxHealth()) {
getData().put(VanillaData.HEALTH, getMaxHealth());
} else {
getData().put(VanillaData.HEALTH, getHealth() + event.getChange());
}
}
// Special cases
Entity owner = getOwner();