public SurfaceBiomeGenerator(IPlanet planet, int seaLevel) : base(planet, 0f, 1f) { this.SeaLevel = seaLevel; BiomeNoiseGenerator = new SimplexNoiseGenerator(planet.Seed) { FrequencyX = 1f / 10000, FrequencyY = 1f / 10000, Factor = 1f }; float offset = (float)seaLevel / (Planet.Size.Z * Chunk.CHUNKSIZE_Z); SubBiomes.Add(new OceanBiomeGenerator(planet, 0f, 0.3f, 0f, offset)); SubBiomes.Add(new LandBiomeGenerator(planet, 0.5f, 1f, offset, 1 - offset)); SortSubBiomes(); }
public LandBiomeGenerator(IPlanet planet, float minVal, float maxVal, float valueRangeOffset, float valueRange) : base(planet, valueRangeOffset, valueRange) { BiomeNoiseGenerator = new SimplexNoiseGenerator(planet.Seed + 1) { FrequencyX = 1f / 1000, FrequencyY = 1f / 1000, Persistance = 0.25f, Octaves = 5, Factor = 1f }; MinValue = minVal; MaxValue = maxVal; SubBiomes.Add(new FlatlandBiome(planet, 0f, 0.2f, 0f, 0.1f)); SubBiomes.Add(new HillsBiome(planet, 0.3f, 0.5f, 0.1f, 0.4f)); SubBiomes.Add(new HighMountainBiome(planet, 0.8f, 1f, 0.2f, 0.8f)); SortSubBiomes(); }