001 package net.minecraft.src; 002 003 import java.util.Random; 004 005 public class WorldGenTallGrass extends WorldGenerator 006 { 007 /** Stores ID for WorldGenTallGrass */ 008 private int tallGrassID; 009 private int tallGrassMetadata; 010 011 public WorldGenTallGrass(int par1, int par2) 012 { 013 this.tallGrassID = par1; 014 this.tallGrassMetadata = par2; 015 } 016 017 public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) 018 { 019 int var11; 020 021 Block block = null; 022 do 023 { 024 block = Block.blocksList[par1World.getBlockId(par3, par4, par5)]; 025 if (block != null && !block.isLeaves(par1World, par3, par4, par5)) 026 { 027 break; 028 } 029 par4--; 030 } while (par4 > 0); 031 032 for (int var7 = 0; var7 < 128; ++var7) 033 { 034 int var8 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8); 035 int var9 = par4 + par2Random.nextInt(4) - par2Random.nextInt(4); 036 int var10 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8); 037 038 if (par1World.isAirBlock(var8, var9, var10) && Block.blocksList[this.tallGrassID].canBlockStay(par1World, var8, var9, var10)) 039 { 040 par1World.setBlockAndMetadata(var8, var9, var10, this.tallGrassID, this.tallGrassMetadata); 041 } 042 } 043 044 return true; 045 } 046 }