package net.minecraft.world.gen.feature; import java.util.Random; import net.minecraft.world.World; public abstract class WorldGenerator { /** * Sets wither or not the generator should notify blocks of blocks it changes. When the world is first generated, * this is false, when saplings grow, this is true. */ private final boolean doBlockNotify; private int field_82631_b = 1; public WorldGenerator() { this.doBlockNotify = false; } public WorldGenerator(boolean par1) { this.doBlockNotify = par1; } public abstract boolean generate(World var1, Random var2, int var3, int var4, int var5); /** * Rescales the generator settings, only used in WorldGenBigTree */ public void setScale(double par1, double par3, double par5) {} /** * Sets the block without metadata in the world, notifying neighbors if enabled. */ protected void setBlock(World par1World, int par2, int par3, int par4, int par5) { this.setBlockAndMetadata(par1World, par2, par3, par4, par5, 0); } /** * Sets the block in the world, notifying neighbors if enabled. */ protected void setBlockAndMetadata(World par1World, int par2, int par3, int par4, int par5, int par6) { if (this.doBlockNotify) { par1World.setBlockAndMetadataWithNotify(par2, par3, par4, par5, par6); } else { par1World.setBlockAndMetadata(par2, par3, par4, par5, par6); } } }