    001package net.minecraftforge.event.entity.player;
    002
    003import java.util.ArrayList;
    004
    005import net.minecraft.enchantment.EnchantmentHelper;
    006import net.minecraft.entity.item.EntityItem;
    007import net.minecraft.entity.player.EntityPlayer;
    008import net.minecraft.util.DamageSource;
    009import net.minecraftforge.event.Cancelable;
    010import 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
    018public 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}