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    }