package net.minecraft.world.gen.feature; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockTallGrass; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.world.World; public class WorldGenTallGrass extends WorldGenerator { private final IBlockState field_175907_a; private static final String __OBFID = "CL_00000437"; public WorldGenTallGrass(BlockTallGrass.EnumType p_i45629_1_) { this.field_175907_a = Blocks.tallgrass.getDefaultState().withProperty(BlockTallGrass.field_176497_a, p_i45629_1_); } public boolean generate(World worldIn, Random p_180709_2_, BlockPos p_180709_3_) { Block var4; while (((var4 = worldIn.getBlockState(p_180709_3_).getBlock()).getMaterial() == Material.air || var4.getMaterial() == Material.leaves) && p_180709_3_.getY() > 0) { p_180709_3_ = p_180709_3_.offsetDown(); } for (int var5 = 0; var5 < 128; ++var5) { BlockPos var6 = p_180709_3_.add(p_180709_2_.nextInt(8) - p_180709_2_.nextInt(8), p_180709_2_.nextInt(4) - p_180709_2_.nextInt(4), p_180709_2_.nextInt(8) - p_180709_2_.nextInt(8)); if (worldIn.isAirBlock(var6) && Blocks.tallgrass.canBlockStay(worldIn, var6, this.field_175907_a)) { worldIn.setBlockState(var6, this.field_175907_a, 2); } } return true; } }