001/*
002 * Forge Mod Loader
003 * Copyright (c) 2012-2013 cpw.
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the GNU Lesser Public License v2.1
006 * which accompanies this distribution, and is available at
007 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
008 * 
009 * Contributors:
010 *     cpw - implementation
011 */
012
013package cpw.mods.fml.common;
014
015import java.util.Random;
016
017import net.minecraft.world.World;
018import net.minecraft.world.chunk.IChunkProvider;
019
020
021/**
022 * This is called back during world generation. 
023 *
024 * @author cpw
025 *
026 */
027public interface IWorldGenerator
028{
029    /**
030     * Generate some world
031     *
032     * @param random the chunk specific {@link Random}.
033     * @param chunkX the chunk X coordinate of this chunk.
034     * @param chunkZ the chunk Z coordinate of this chunk.
035     * @param world : additionalData[0] The minecraft {@link World} we're generating for.
036     * @param chunkGenerator : additionalData[1] The {@link IChunkProvider} that is generating.
037     * @param chunkProvider : additionalData[2] {@link IChunkProvider} that is requesting the world generation.
038     *
039     */
040    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider);
041}