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