package squeek.applecore.api.plants;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.IGrowable;
import net.minecraft.world.World;
import cpw.mods.fml.common.eventhandler.Cancelable;
import cpw.mods.fml.common.eventhandler.Event;
import static cpw.mods.fml.common.eventhandler.Event.Result;
import static cpw.mods.fml.common.eventhandler.Event.HasResult;
public class FertilizationEvent extends Event
{
/**
* Fired when a block is about to be fertilized.
*
* This event is fired in all {@link IGrowable#func_149853_b} implementations.<br>
* <br>
* This event is not {@link Cancelable}.<br>
* <br>
* This event uses the {@link Result}. {@link HasResult}<br>
* {@link Result#DEFAULT} will use the default fertilization implementation.
* {@link Result#ALLOW} will mark the fertilization as handled and skip the default implementation.
* {@link Result#DENY} will cancel the fertilization.
*/
@HasResult
public static class Fertilize extends FertilizationEvent
{
public final Block block;
public final World world;
public final int x;
public final int y;
public final int z;
public final Random random;
public final int metadata;
public Fertilize(Block block, World world, int x, int y, int z, Random random, int metadata)
{
this.block = block;
this.world = world;
this.x = x;
this.y = y;
this.z = z;
this.random = random;
this.metadata = metadata;
}
}
/**
* Fired after a block is fertilized.
*
* This event is fired in all {@link IGrowable#func_149853_b} implementations.<br>
* <br>
* This event is not {@link Cancelable}.<br>
* <br>
* This event does not have a result. {@link HasResult}<br>
*/
public static class Fertilized extends FertilizationEvent
{
public final Block block;
public final World world;
public final int x;
public final int y;
public final int z;
public final int previousMetadata;
public Fertilized(Block block, World world, int x, int y, int z, int previousMetadata)
{
this.block = block;
this.world = world;
this.x = x;
this.y = y;
this.z = z;
this.previousMetadata = previousMetadata;
}
}
}