So here's what I've found:
Vanilla reeds use this method:
public boolean generate(World worldIn, Random rand, BlockPos position)
{
for (int i = 0; i < 20; ++i)
{
BlockPos blockpos = position.add(rand.nextInt(4) - rand.nextInt(4), 0, rand.nextInt(4) - rand.nextInt(4));
if (worldIn.isAirBlock(blockpos))
{
BlockPos blockpos1 = blockpos.down();
if (worldIn.getBlockState(blockpos1.west()).getBlock().getMaterial() == Material.water || worldIn.getBlockState(blockpos1.east()).getBlock().getMaterial() == Material.water || worldIn.getBlockState(blockpos1.north()).getBlock().getMaterial() == Material.water || worldIn.getBlockState(blockpos1.south()).getBlock().getMaterial() == Material.water)
{
int j = 2 + rand.nextInt(rand.nextInt(3) + 1);
for (int k = 0; k < j; ++k)
{
if (Blocks.reeds.canBlockStay(worldIn, blockpos))
{
worldIn.setBlockState(blockpos.up(k), Blocks.reeds.getDefaultState(), 2);
}
}
}
}
}
return true;
}
But with Forge, I think you're supposed to use this method:
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
}
How do I convert from the boolean to void? Also, the parameters of the two methods don't match.
Basically, I just want to know how I convert the vanilla method(boolean) to the one forge uses(void).