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