001    package net.minecraftforge.event.entity.player;
002    
003    import net.minecraft.block.Block;
004    import net.minecraft.entity.Entity;
005    import net.minecraft.entity.player.EntityPlayer;
006    import net.minecraftforge.event.Cancelable;
007    import net.minecraftforge.event.entity.living.LivingEvent;
008    
009    public class PlayerEvent extends LivingEvent
010    {
011        public final EntityPlayer entityPlayer;
012        public PlayerEvent(EntityPlayer player)
013        {
014            super(player);
015            entityPlayer = player;
016        }
017        
018        public static class HarvestCheck extends PlayerEvent
019        {
020            public final Block block;
021            public boolean success;
022    
023            public HarvestCheck(EntityPlayer player, Block block, boolean success)
024            {
025                super(player);
026                this.block = block;
027                this.success = success;
028            }
029        }
030    
031        @Cancelable
032        public static class BreakSpeed extends PlayerEvent
033        {
034            public final Block block;
035            public final int metadata;
036            public final float originalSpeed;
037            public float newSpeed = 0.0f;
038    
039            public BreakSpeed(EntityPlayer player, Block block, int metadata, float original)
040            {
041                super(player);
042                this.block = block;
043                this.metadata = metadata;
044                this.originalSpeed = original;
045                this.newSpeed = original;
046            }
047        }
048    }