001 package net.minecraft.src; 002 003 import java.util.Random; 004 005 public class WorldGenSand extends WorldGenerator 006 { 007 /** Stores ID for WorldGenSand */ 008 private int sandID; 009 010 /** The maximum radius used when generating a patch of blocks. */ 011 private int radius; 012 013 public WorldGenSand(int par1, int par2) 014 { 015 this.sandID = par2; 016 this.radius = par1; 017 } 018 019 public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) 020 { 021 if (par1World.getBlockMaterial(par3, par4, par5) != Material.water) 022 { 023 return false; 024 } 025 else 026 { 027 int var6 = par2Random.nextInt(this.radius - 2) + 2; 028 byte var7 = 2; 029 030 for (int var8 = par3 - var6; var8 <= par3 + var6; ++var8) 031 { 032 for (int var9 = par5 - var6; var9 <= par5 + var6; ++var9) 033 { 034 int var10 = var8 - par3; 035 int var11 = var9 - par5; 036 037 if (var10 * var10 + var11 * var11 <= var6 * var6) 038 { 039 for (int var12 = par4 - var7; var12 <= par4 + var7; ++var12) 040 { 041 int var13 = par1World.getBlockId(var8, var12, var9); 042 043 if (var13 == Block.dirt.blockID || var13 == Block.grass.blockID) 044 { 045 par1World.setBlock(var8, var12, var9, this.sandID); 046 } 047 } 048 } 049 } 050 } 051 052 return true; 053 } 054 } 055 }