Skip to content

Instantly share code, notes, and snippets.

@aikar
Created August 4, 2017 01:04
Show Gist options
  • Save aikar/893032987e9d897e0341edec9d4d2dc5 to your computer and use it in GitHub Desktop.
Save aikar/893032987e9d897e0341edec9d4d2dc5 to your computer and use it in GitHub Desktop.
public static void setDamage(EntityDamageEvent event, double dmg) {
if (event.getFinalDamage() == 0) {
if (dmg != 0) {
event.setDamage(dmg);
}
return;
}
final double ratio = dmg / event.getFinalDamage();
for (DamageModifier mod : DamageModifier.values()) {
if (event.isApplicable(mod)) {
event.setDamage(mod, event.getDamage(mod) * ratio);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment