mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 04:56:50 +01:00
Add a DamageEvent for falling blocks which can damage entities. Fixes BUKKIT-2781
This commit is contained in:
parent
d039986be7
commit
5f5dd727b6
1 changed files with 12 additions and 1 deletions
|
@ -3,6 +3,8 @@ package net.minecraft.server;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.event.entity.EntityDamageEvent; // CraftBukkit
|
||||
|
||||
public class EntityFallingBlock extends Entity {
|
||||
|
||||
public int id;
|
||||
|
@ -124,7 +126,16 @@ public class EntityFallingBlock extends Entity {
|
|||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
entity.damageEntity(damagesource, Math.min(MathHelper.d((float) i * this.fallHurtAmount), this.fallHurtMax));
|
||||
// CraftBukkit start
|
||||
int damage = Math.min(MathHelper.d((float) i * this.fallHurtAmount), this.fallHurtMax);
|
||||
|
||||
EntityDamageEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(this, entity, EntityDamageEvent.DamageCause.FALLING_BLOCK, damage);
|
||||
if (event.isCancelled()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
entity.damageEntity(damagesource, event.getDamage());
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
if (this.id == Block.ANVIL.id && (double) this.random.nextFloat() < 0.05000000074505806D + (double) i * 0.05D) {
|
||||
|
|
Loading…
Reference in a new issue