    001package net.minecraftforge.event.terraingen;
    002
    003import java.util.Random;
    004
    005import net.minecraft.world.World;
    006import net.minecraftforge.event.*;
    007
    008public class DecorateBiomeEvent extends Event
    009{
    010    public final World world;
    011    public final Random rand;
    012    public final int chunkX;
    013    public final int chunkZ;
    014
    015    public DecorateBiomeEvent(World world, Random rand, int worldX, int worldZ)
    016    {
    017        this.world = world;
    018        this.rand = rand;
    019        this.chunkX = worldX;
    020        this.chunkZ = worldZ;
    021    }
    022
    023    public static class Pre extends DecorateBiomeEvent
    024    {
    025        public Pre(World world, Random rand, int worldX, int worldZ)
    026        {
    027            super(world, rand, worldX, worldZ);
    028        }
    029    }
    030
    031    public static class Post extends DecorateBiomeEvent
    032    {
    033        public Post(World world, Random rand, int worldX, int worldZ)
    034        {
    035            super(world, rand, worldX, worldZ);
    036        }
    037    }
    038
    039    /**
    040     * This event is fired when a chunk is decorated with a biome feature.
    041     *
    042     * You can set the result to DENY to prevent the default biome decoration.
    043     */
    044    @HasResult
    045    public static class Decorate extends DecorateBiomeEvent
    046    {
    047        /** Use CUSTOM to filter custom event types
    048         */
    049        public static enum EventType { BIG_SHROOM, CACTUS, CLAY, DEAD_BUSH, LILYPAD, FLOWERS, GRASS, LAKE, PUMPKIN, REED, SAND, SAND_PASS2, SHROOM, TREE, CUSTOM }
    050
    051        public final EventType type;
    052
    053        public Decorate(World world, Random rand, int worldX, int worldZ, EventType type)
    054        {
    055            super(world, rand, worldX, worldZ);
    056            this.type = type;
    057        }
    058    }
    059}