diff --git a/world/src/block/mod.rs b/world/src/block/mod.rs
index 62792a9abb..0a08ecc6ed 100644
--- a/world/src/block/mod.rs
+++ b/world/src/block/mod.rs
@@ -121,7 +121,7 @@ impl<'a> BlockGen<'a> {
 
             if stone_factor >= 0.5 {
                 if wposf.z as f32 > height - cliff_offset.max(0.0) {
-                    if cliff_offset.max(0.0) > cliff_height - (FastNoise::new(37).get(wposf / Vec3::new(6.0, 6.0, 10.0)) * 0.5 + 0.5) * (height - wposf.z as f32).mul(0.25).clamped(0.0, 10.0) {
+                    if cliff_offset.max(0.0) > cliff_height - (FastNoise::new(37).get(wposf / Vec3::new(6.0, 6.0, 10.0)) * 0.5 + 0.5) * (height - wposf.z as f32).mul(0.25).clamped(0.0, 6.0) {
                         Some(Block::empty())
                     } else {
                         let col = Lerp::lerp(
diff --git a/world/src/column/mod.rs b/world/src/column/mod.rs
index 813478b488..fe0e01187b 100644
--- a/world/src/column/mod.rs
+++ b/world/src/column/mod.rs
@@ -274,7 +274,7 @@ impl<'a> Sampler<'a> for ColumnGen<'a> {
             .rem_euclid(128.0)
             / 64.0
             - 1.0;
-        let cliff_scale = (self.sim.gen_ctx.hill_nz.get(wposf.div(128.0).into_array())
+        let cliff_scale = ((self.sim.gen_ctx.hill_nz.get(wposf.div(128.0).into_array()) * 2.0 - 1.0)
             + self.sim.gen_ctx.hill_nz.get(wposf.div(48.0).into_array()) * 0.1
             + 0.5)
             .max(0.0) as f32;