private static TypeBlock ForestNormal_Dense(int x, int z, Block tile, float sample, float perlin) { LibNoise.Unity.Generator.Voronoi CityNoise = new LibNoise.Unity.Generator.Voronoi(0.009f, 1, World.Seed, false); VeronoiStruc sample2 = CityNoise.GetValueNPoint(x, z, 0); //tile.CityPoint = new DataVector3(CityNoise.GetPoint(x, z, 0)); VeronoiStruc Tile_Vila_Up = CityNoise.GetValueNPoint(x, z + 1, 0); VeronoiStruc Tile_Vila_Down = CityNoise.GetValueNPoint(x, z - 1, 0); VeronoiStruc Tile_Vila_Left = CityNoise.GetValueNPoint(x - 1, z, 0); VeronoiStruc Tile_Vila_Right = CityNoise.GetValueNPoint(x + 1, z, 0); //tile.CityPoint = new Vector3(CityNoise.GetPoint(x, z, 0)); /*Tile_Vila_Up.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x, z + 1); * Tile_Vila_Down.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x, z - 1); * Tile_Vila_Left.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x - 1, z); * Tile_Vila_Right.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x + 1, z);*/ if ((int)Tile_Vila_Up.Value == 1 || (int)Tile_Vila_Down.Value == 1 || (int)Tile_Vila_Left.Value == 1 || (int)Tile_Vila_Right.Value == 1) { return(TypeBlock.Rock); } if (perlin <= 0.15f) { //Water return(TypeBlock.WaterFloor); } else if (perlin > 0.15f && perlin < 0.2f) { //Sand Bench return(TypeBlock.BeachSand); } else if (perlin > 0.2f && perlin <= 0.7f) { return(TypeBlock.Grass); } else if (perlin > 0.7f && perlin <= 0.8f) { return(TypeBlock.Rock); } else { return(TypeBlock.Rock); } }
public void PostApply(ConfigNode node) { switch (type) { case NoiseType.Perlin: var perlin = new Perlin (); perlin.Quality = QualityMode.High; perlin.Seed = seed; perlin.OctaveCount = octaves; perlin.Frequency = frequency; perlin.Lacunarity = lacunarity; perlin.Persistence = persistence; Module = perlin; break; case NoiseType.ExDistPerlin: var exDistPerlin = new ExDistPerlin (); exDistPerlin.Quality = QualityMode.High; exDistPerlin.Seed = seed; exDistPerlin.OctaveCount = octaves; exDistPerlin.Frequency = frequency; exDistPerlin.Lacunarity = lacunarity; exDistPerlin.Persistence = persistence; exDistPerlin.Mu = mu; Module = exDistPerlin; break; case NoiseType.Billow: var billow = new Billow (); billow.Quality = QualityMode.High; billow.Seed = seed; billow.OctaveCount = octaves; billow.Frequency = frequency; billow.Lacunarity = lacunarity; billow.Persistence = persistence; Module = billow; break; case NoiseType.RidgedMultiFractal: var ridgedMultiFractal = new RiggedMultifractal (); ridgedMultiFractal.Quality = QualityMode.High; ridgedMultiFractal.Seed = seed; ridgedMultiFractal.OctaveCount = octaves; ridgedMultiFractal.Frequency = frequency; ridgedMultiFractal.Lacunarity = lacunarity; Module = ridgedMultiFractal; break; case NoiseType.Voronoi: var voronoi = new Voronoi (); voronoi.Seed = seed; voronoi.UseDistance = voronoiUseDistance; voronoi.Displacement = displacement; voronoi.Frequency = frequency; Module = voronoi; break; case NoiseType.Const: var constant = new Const (); constant.Value = constantValue; Module = constant; break; } }