001    package net.minecraftforge.event.entity.player;
002    
003    import java.util.ArrayList;
004    
005    import net.minecraft.enchantment.EnchantmentHelper;
006    import net.minecraft.entity.item.EntityItem;
007    import net.minecraft.entity.player.EntityPlayer;
008    import net.minecraft.util.DamageSource;
009    import net.minecraftforge.event.Cancelable;
010    import net.minecraftforge.event.entity.living.LivingDropsEvent;
011    
012    /**
013     * Child class of LivingDropEvent that is fired specifically when a
014     * player dies.  Canceling the event will prevent ALL drops from entering the
015     * world.
016     */
017    @Cancelable
018    public class PlayerDropsEvent extends LivingDropsEvent
019    {
020        public final EntityPlayer entityPlayer;
021    
022        /**
023         * Creates a new event containing all the items that will drop into the
024         * world when a player dies.
025         * @param entity The dying player. 
026         * @param source The source of the damage which is killing the player.
027         * @param drops List of all drops entering the world.
028         */
029        public PlayerDropsEvent(EntityPlayer entity, DamageSource source, ArrayList<EntityItem> drops, boolean recentlyHit)
030        {
031            super(entity, source, drops, 
032                (source.getEntity() instanceof EntityPlayer) ? 
033                    EnchantmentHelper.getLootingModifier(((EntityPlayer)source.getEntity())) : 0,
034                recentlyHit, 0);
035            
036            this.entityPlayer = entity;
037        }
038    }