001 package org.bukkit.event.entity;
002
003 import java.util.Map;
004
005 import com.google.common.base.Function;
006 import org.bukkit.block.Block;
007 import org.bukkit.entity.Entity;
008
009 /**
010 * Called when an entity is damaged by a block
011 */
012 public class EntityDamageByBlockEvent extends EntityDamageEvent {
013 private final Block damager;
014
015 @Deprecated
016 public EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final int damage) {
017 this(damager, damagee, cause, (double) damage);
018 }
019
020 @Deprecated
021 public EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final double damage) {
022 super(damagee, cause, damage);
023 this.damager = damager;
024 }
025
026 public EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final Map<DamageModifier, Double> modifiers, final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
027 super(damagee, cause, modifiers, modifierFunctions);
028 this.damager = damager;
029 }
030
031 /**
032 * Returns the block that damaged the player.
033 *
034 * @return Block that damaged the player
035 */
036 public Block getDamager() {
037 return damager;
038 }
039 }