From 9d1575db3f558a9e974b87659d5d4533a18f54e7 Mon Sep 17 00:00:00 2001 From: Joshua Barretto Date: Wed, 10 Jul 2019 12:57:29 +0100 Subject: [PATCH] Fixed pyramid biome bug --- world/src/column/mod.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/world/src/column/mod.rs b/world/src/column/mod.rs index 91f04644c6..e9a45bb0a2 100644 --- a/world/src/column/mod.rs +++ b/world/src/column/mod.rs @@ -22,7 +22,7 @@ impl<'a> ColumnGen<'a> { Self { world } } - fn get_local_structure(&self, wpos: Vec2, chunk: &SimChunk) -> Option { + fn get_local_structure(&self, wpos: Vec2) -> Option { let (pos, seed) = self .world .sim() @@ -34,6 +34,8 @@ impl<'a> ColumnGen<'a> { .min_by_key(|(pos, _)| pos.distance_squared(wpos)) .unwrap(); + let chunk = self.world.sim().get(pos)?; + if seed % 5 == 2 && chunk.temp > CONFIG.desert_temp && chunk.alt > CONFIG.sea_level + 5.0 { Some(StructureData { pos, @@ -45,11 +47,7 @@ impl<'a> ColumnGen<'a> { } } - fn gen_close_structures( - &self, - wpos: Vec2, - chunk: &SimChunk, - ) -> [Option; 9] { + fn gen_close_structures(&self, wpos: Vec2) -> [Option; 9] { let mut metas = [None; 9]; self.world .sim() @@ -60,7 +58,7 @@ impl<'a> ColumnGen<'a> { .copied() .enumerate() .for_each(|(i, (pos, seed))| { - metas[i] = self.get_local_structure(pos, chunk).or(Some(StructureData { + metas[i] = self.get_local_structure(pos).or(Some(StructureData { pos, seed, meta: None, @@ -303,7 +301,7 @@ impl<'a> Sampler for ColumnGen<'a> { sub_surface_color: dirt, tree_density, forest_kind: sim_chunk.forest_kind, - close_structures: self.gen_close_structures(wpos, sim_chunk), + close_structures: self.gen_close_structures(wpos), cave_xy, cave_alt, rock,