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 }