001 package net.minecraft.src;
002
003 import java.util.Random;
004
005 public class MapGenBase
006 {
007 /** The number of Chunks to gen-check in any given direction. */
008 protected int range = 8;
009
010 /** The RNG used by the MapGen classes. */
011 protected Random rand = new Random();
012
013 /** This world object. */
014 protected World worldObj;
015
016 public void generate(IChunkProvider par1IChunkProvider, World par2World, int par3, int par4, byte[] par5ArrayOfByte)
017 {
018 int var6 = this.range;
019 this.worldObj = par2World;
020 this.rand.setSeed(par2World.getSeed());
021 long var7 = this.rand.nextLong();
022 long var9 = this.rand.nextLong();
023
024 for (int var11 = par3 - var6; var11 <= par3 + var6; ++var11)
025 {
026 for (int var12 = par4 - var6; var12 <= par4 + var6; ++var12)
027 {
028 long var13 = (long)var11 * var7;
029 long var15 = (long)var12 * var9;
030 this.rand.setSeed(var13 ^ var15 ^ par2World.getSeed());
031 this.recursiveGenerate(par2World, var11, var12, par3, par4, par5ArrayOfByte);
032 }
033 }
034 }
035
036 /**
037 * Recursively called by generate() (generate) and optionally by itself.
038 */
039 protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) {}
040 }