private void generateTrees(World worldIn, Biome biomeIn, Random random, BlockPos chunkPos)
{
int treesToGen = treesPerChunk;
if (random.nextFloat() < extraTreeChance)
{
++treesToGen;
}
if(TerrainGen.decorate(worldIn, random, chunkPos, DecorateBiomeEvent.Decorate.EventType.TREE))
for (int numTreesGenerated = 0; numTreesGenerated < treesToGen; ++numTreesGenerated)
{
int treeX = random.nextInt(16) + 8;
int treeZ = random.nextInt(16) + 8;
WorldGenAbstractTree treeGen = biomeIn.getRandomTreeFeature(random);
treeGen.setDecorationDefaults();
BlockPos blockpos = worldIn.getHeight(chunkPos.add(treeX, 0, treeZ));
if (treeGen.generate(worldIn, random, blockpos))
{
treeGen.generateSaplings(worldIn, random, blockpos);
}
}
}