Check creeper-explosion flag for all entity damage, not just players.

This commit is contained in:
wizjany 2019-09-26 10:38:02 -04:00
parent 1c3cf02ebd
commit cb9ab3a7b2
2 changed files with 3 additions and 7 deletions

View File

@ -64,6 +64,7 @@
import org.bukkit.block.data.Waterlogged;
import org.bukkit.block.data.type.Dispenser;
import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.FallingBlock;
@ -788,6 +789,8 @@ public void onEntityDamage(EntityDamageEvent event) {
final DamageEntityEvent eventToFire = new DamageEntityEvent(event, create(damager), event.getEntity());
if (damager instanceof Firework) {
eventToFire.getRelevantFlags().add(Flags.FIREWORK_DAMAGE);
} else if (damager instanceof Creeper) {
eventToFire.getRelevantFlags().add(Flags.CREEPER_EXPLOSION);
}
Events.fireToCancel(event, eventToFire);

View File

@ -282,13 +282,6 @@ private void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
event.setCancelled(true);
return;
}
if (attacker instanceof Creeper) {
if (!set.testState(localPlayer, Flags.CREEPER_EXPLOSION) && wcfg.explosionFlagCancellation) {
event.setCancelled(true);
return;
}
}
}
}
}