public static void Decorate(Chunk chunk, double[,] terrainHeightMap, OverworldNoise noise) { for (int x = 0; x < 16; x++) { for (int z = 0; z < 16; z++) { var b = ChunkBiome.GetBiome((chunk.X << 4) + x, (chunk.Z << 4) + z, noise); IDecorator decorator = DecoratorFactory.GetDecorator(b); var blockPos = new Vector(x, (int)terrainHeightMap[x, z], z); decorator.Decorate(chunk, blockPos, noise); } } }
public static void Decorate(Chunk chunk, double[,] terrainHeightMap, OverworldTerrain ot, World world) { var noise = new TerrainNoise(ot.settings); for (int x = 0; x < 16; x++) { for (int z = 0; z < 16; z++) { var b = ChunkBiome.GetBiome((chunk.X << 4) + x, (chunk.Z << 4) + z, ot); var blockPos = new Vector(x, (int)terrainHeightMap[x, z], z); IDecorator decorator = DecoratorFactory.GetDecorator(b, chunk, blockPos, noise); decorator.Decorate(); GenerateTrees(world, blockPos + (chunk.X << 4, 0, chunk.Z << 4), decorator.Features, noise); } } }