001 package net.minecraftforge.event; 002 003 import net.minecraft.block.Block; 004 import net.minecraft.entity.player.EntityPlayer; 005 import net.minecraft.item.ItemStack; 006 import net.minecraftforge.common.MinecraftForge; 007 import net.minecraftforge.event.entity.player.*; 008 import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; 009 010 public class ForgeEventFactory 011 { 012 public static boolean doPlayerHarvestCheck(EntityPlayer player, Block block, boolean success) 013 { 014 PlayerEvent.HarvestCheck event = new PlayerEvent.HarvestCheck(player, block, success); 015 MinecraftForge.EVENT_BUS.post(event); 016 return event.success; 017 } 018 019 public static float getBreakSpeed(EntityPlayer player, Block block, int metadata, float original) 020 { 021 PlayerEvent.BreakSpeed event = new PlayerEvent.BreakSpeed(player, block, metadata, original); 022 return (MinecraftForge.EVENT_BUS.post(event) ? -1 : event.newSpeed); 023 } 024 025 public static PlayerInteractEvent onPlayerInteract(EntityPlayer player, Action action, int x, int y, int z, int face) 026 { 027 PlayerInteractEvent event = new PlayerInteractEvent(player, action, x, y, z, face); 028 MinecraftForge.EVENT_BUS.post(event); 029 return event; 030 } 031 032 public static void onPlayerDestroyItem(EntityPlayer player, ItemStack stack) 033 { 034 MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(player, stack)); 035 } 036 }