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