001 package net.minecraft.src; 002 003 import java.util.Random; 004 005 public class WorldGenDesertWells extends WorldGenerator 006 { 007 public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) 008 { 009 while (par1World.isAirBlock(par3, par4, par5) && par4 > 2) 010 { 011 --par4; 012 } 013 014 int var6 = par1World.getBlockId(par3, par4, par5); 015 016 if (var6 != Block.sand.blockID) 017 { 018 return false; 019 } 020 else 021 { 022 int var7; 023 int var8; 024 025 for (var7 = -2; var7 <= 2; ++var7) 026 { 027 for (var8 = -2; var8 <= 2; ++var8) 028 { 029 if (par1World.isAirBlock(par3 + var7, par4 - 1, par5 + var8) && par1World.isAirBlock(par3 + var7, par4 - 2, par5 + var8)) 030 { 031 return false; 032 } 033 } 034 } 035 036 for (var7 = -1; var7 <= 0; ++var7) 037 { 038 for (var8 = -2; var8 <= 2; ++var8) 039 { 040 for (int var9 = -2; var9 <= 2; ++var9) 041 { 042 par1World.setBlock(par3 + var8, par4 + var7, par5 + var9, Block.sandStone.blockID); 043 } 044 } 045 } 046 047 par1World.setBlock(par3, par4, par5, Block.waterMoving.blockID); 048 par1World.setBlock(par3 - 1, par4, par5, Block.waterMoving.blockID); 049 par1World.setBlock(par3 + 1, par4, par5, Block.waterMoving.blockID); 050 par1World.setBlock(par3, par4, par5 - 1, Block.waterMoving.blockID); 051 par1World.setBlock(par3, par4, par5 + 1, Block.waterMoving.blockID); 052 053 for (var7 = -2; var7 <= 2; ++var7) 054 { 055 for (var8 = -2; var8 <= 2; ++var8) 056 { 057 if (var7 == -2 || var7 == 2 || var8 == -2 || var8 == 2) 058 { 059 par1World.setBlock(par3 + var7, par4 + 1, par5 + var8, Block.sandStone.blockID); 060 } 061 } 062 } 063 064 par1World.setBlockAndMetadata(par3 + 2, par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); 065 par1World.setBlockAndMetadata(par3 - 2, par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); 066 par1World.setBlockAndMetadata(par3, par4 + 1, par5 + 2, Block.stoneSingleSlab.blockID, 1); 067 par1World.setBlockAndMetadata(par3, par4 + 1, par5 - 2, Block.stoneSingleSlab.blockID, 1); 068 069 for (var7 = -1; var7 <= 1; ++var7) 070 { 071 for (var8 = -1; var8 <= 1; ++var8) 072 { 073 if (var7 == 0 && var8 == 0) 074 { 075 par1World.setBlock(par3 + var7, par4 + 4, par5 + var8, Block.sandStone.blockID); 076 } 077 else 078 { 079 par1World.setBlockAndMetadata(par3 + var7, par4 + 4, par5 + var8, Block.stoneSingleSlab.blockID, 1); 080 } 081 } 082 } 083 084 for (var7 = 1; var7 <= 3; ++var7) 085 { 086 par1World.setBlock(par3 - 1, par4 + var7, par5 - 1, Block.sandStone.blockID); 087 par1World.setBlock(par3 - 1, par4 + var7, par5 + 1, Block.sandStone.blockID); 088 par1World.setBlock(par3 + 1, par4 + var7, par5 - 1, Block.sandStone.blockID); 089 par1World.setBlock(par3 + 1, par4 + var7, par5 + 1, Block.sandStone.blockID); 090 } 091 092 return true; 093 } 094 } 095 }