/FileExtraction/Java_unseen/Wind-Development_WindSpigot/WindSpigot-API/src/main/java/org/bukkit/generator/BlockPopulator.java
package org.bukkit.generator;

import java.util.Random;

import org.bukkit.Chunk;
import org.bukkit.World;

/**
 * A block populator is responsible for generating a small area of blocks.
 * <p>
 * For example, generating glowstone inside the nether or generating dungeons
 * full of treasure
 */
public abstract class BlockPopulator {

	/**
	 * Populates an area of blocks at or around the given chunk.
	 * <p>
	 * The chunks on each side of the specified chunk must already exist; that is,
	 * there must be one north, east, south and west of the specified chunk. The
	 * "corner" chunks may not exist, in which scenario the populator should record
	 * any changes required for those chunks and perform the changes when they are
	 * ready.
	 *
	 * @param world  The world to generate in
	 * @param random The random generator to use
	 * @param source The chunk to generate for
	 */
	public abstract void populate(World world, Random random, Chunk source);
}
