diff --git a/assets/world/manifests/shrubs.ron b/assets/world/manifests/shrubs.ron index ffefe8dfe6..61cc9d34b6 100644 --- a/assets/world/manifests/shrubs.ron +++ b/assets/world/manifests/shrubs.ron @@ -5,4 +5,28 @@ specifier: "world.shrub.1", center: (6, 6, 2), ), + ( + specifier: "world.shrub.jungle-bush-0", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-1", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-2", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-3", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-4", + center: (5, 5, 1), + ), + ( + specifier: "world.shrub.jungle-bush-5", + center: (5, 5, 1), + ), ] diff --git a/assets/world/shrub/jungle-bush-0.vox b/assets/world/shrub/jungle-bush-0.vox new file mode 100644 index 0000000000..cd4980287e Binary files /dev/null and b/assets/world/shrub/jungle-bush-0.vox differ diff --git a/assets/world/shrub/jungle-bush-1.vox b/assets/world/shrub/jungle-bush-1.vox new file mode 100644 index 0000000000..5da37d5e63 Binary files /dev/null and b/assets/world/shrub/jungle-bush-1.vox differ diff --git a/assets/world/shrub/jungle-bush-2.vox b/assets/world/shrub/jungle-bush-2.vox new file mode 100644 index 0000000000..06abd3b5d2 Binary files /dev/null and b/assets/world/shrub/jungle-bush-2.vox differ diff --git a/assets/world/shrub/jungle-bush-3.vox b/assets/world/shrub/jungle-bush-3.vox new file mode 100644 index 0000000000..933aafb5f7 Binary files /dev/null and b/assets/world/shrub/jungle-bush-3.vox differ diff --git a/assets/world/shrub/jungle-bush-4.vox b/assets/world/shrub/jungle-bush-4.vox new file mode 100644 index 0000000000..d702d67723 Binary files /dev/null and b/assets/world/shrub/jungle-bush-4.vox differ diff --git a/assets/world/shrub/jungle-bush-5.vox b/assets/world/shrub/jungle-bush-5.vox new file mode 100644 index 0000000000..0a5dfcc67f Binary files /dev/null and b/assets/world/shrub/jungle-bush-5.vox differ diff --git a/world/src/all.rs b/world/src/all.rs index 59251a5e62..b5acc3bfb6 100644 --- a/world/src/all.rs +++ b/world/src/all.rs @@ -35,7 +35,7 @@ impl ForestKind { ForestKind::Cedar => 0.275..1.45, ForestKind::Pine => 0.2..1.4, ForestKind::Birch => 0.0..0.6, - ForestKind::Mangrove => 0.65..1.3, + ForestKind::Mangrove => 0.5..1.3, ForestKind::Swamp => 0.5..1.1, _ => 0.0..0.0, } @@ -51,7 +51,7 @@ impl ForestKind { ForestKind::Cedar => -0.65..0.15, ForestKind::Pine => -1.8..-0.2, ForestKind::Birch => -0.7..0.25, - ForestKind::Mangrove => 0.4..1.6, + ForestKind::Mangrove => 0.35..1.6, ForestKind::Swamp => -0.6..0.8, _ => 0.0..0.0, } diff --git a/world/src/layer/shrub.rs b/world/src/layer/shrub.rs index 8b64402766..510457e46e 100644 --- a/world/src/layer/shrub.rs +++ b/world/src/layer/shrub.rs @@ -33,7 +33,11 @@ pub fn apply_shrubs_to(canvas: &mut Canvas, rng: &mut impl Rng) { shrub_cache.entry(wpos).or_insert_with(|| { let col = info.col_or_gen(wpos)?; - if RandomPerm::new(seed).chance(37, col.tree_density * 0.3) { + if RandomPerm::new(seed).chance(37, col.tree_density * 0.3) + && col.water_dist.map_or(true, |d| d > 8.0) + && col.spawn_rate > 0.9 + && col.path.map_or(true, |(d, _, _, _)| d > 6.0) + { Some(Shrub { wpos: wpos.with_z(col.alt as i32), seed, diff --git a/world/src/layer/tree.rs b/world/src/layer/tree.rs index dfbd12e2fa..41aa8e0838 100644 --- a/world/src/layer/tree.rs +++ b/world/src/layer/tree.rs @@ -369,14 +369,14 @@ impl TreeConfig { branch_child_len: 0.35, branch_child_radius: 0.5, branch_child_radius_lerp: true, - leaf_radius: 4.0 * log_scale..4.5 * log_scale, - leaf_radius_scaled: 0.0, + leaf_radius: 10.0 * log_scale..11.5 * log_scale, + leaf_radius_scaled: -8.0 * log_scale, straightness: 0.2, max_depth: 2, splits: 7.5..8.5, - split_range: 0.3..1.25, + split_range: 0.2..1.25, branch_len_bias: 0.5, - leaf_vertical_scale: 0.4, + leaf_vertical_scale: 0.35, proportionality: 0.8, inhabited: false, hanging_sprites: &[(0.00007, SpriteKind::Beehive), (0.015, SpriteKind::Liana)],