diff --git a/world/src/column/mod.rs b/world/src/column/mod.rs index fb382a941f..74d5f761e2 100644 --- a/world/src/column/mod.rs +++ b/world/src/column/mod.rs @@ -170,14 +170,14 @@ impl<'a> Sampler<'a> for ColumnGen<'a> { .small_nz .get((wposf_turb.div(200.0)).into_array()) as f32) .abs() - .mul(chaos.max(0.025)) - .mul(75.0) + .mul(chaos.max(0.05)) + .mul(55.0) + (sim .gen_ctx .small_nz - .get((wposf_turb.div(450.0)).into_array()) as f32) + .get((wposf_turb.div(600.0)).into_array()) as f32) .abs() - .mul(1.0 - chaos) + .mul((1.0 - chaos).max(0.3)) .mul(1.0 - humidity) .mul(85.0); diff --git a/world/src/generator/town/mod.rs b/world/src/generator/town/mod.rs index cf2ef5eb26..4f7f444196 100644 --- a/world/src/generator/town/mod.rs +++ b/world/src/generator/town/mod.rs @@ -123,6 +123,10 @@ impl TownState { let radius = rng.gen_range(18, 20) * 9; let size = Vec2::broadcast(radius * 2 / 9 - 2); + if gen.get(center).map(|sample| sample.chaos).unwrap_or(0.0) > 0.35 { + return None; + } + let alt = gen.get(center).map(|sample| sample.alt).unwrap_or(0.0) as i32; let mut vol = TownVol::generate_from(