001 package org.bukkit.generator; 002 003 import java.util.Random; 004 import org.bukkit.Chunk; 005 import org.bukkit.World; 006 007 /** 008 * A block populator is responsible for generating a small area of blocks. 009 * <p> 010 * For example, generating glowstone inside the nether or generating dungeons 011 * full of treasure 012 */ 013 public abstract class BlockPopulator { 014 015 /** 016 * Populates an area of blocks at or around the given chunk. 017 * <p> 018 * The chunks on each side of the specified chunk must already exist; that 019 * is, there must be one north, east, south and west of the specified 020 * chunk. The "corner" chunks may not exist, in which scenario the 021 * populator should record any changes required for those chunks and 022 * perform the changes when they are ready. 023 * 024 * @param world The world to generate in 025 * @param random The random generator to use 026 * @param source The chunk to generate for 027 */ 028 public abstract void populate(World world, Random random, Chunk source); 029 }