Removed unused tree assets

This commit is contained in:
Joshua Barretto 2021-08-31 10:15:52 +01:00
parent 13c15b3840
commit b646aae2a4
60 changed files with 55 additions and 379 deletions

View File

@ -32,6 +32,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Experimental terrain persistence (see server documentation)
- Add GPU filtering using WGPU_ADAPTER environment variable
- Explosions no longer change block colours within safe zones
- The 'spot' system, which generates smaller site-like structures and scenarios
- Chestnut and cedar tree varieties
### Changed

View File

@ -1,24 +0,0 @@
EntityConfig (
name: Name("Witch"),
body: Exact(Humanoid(Body(
species: Human,
body_type: Female,
hair_style: 2,
beard: 0,
eyes: 0,
accessory: 0,
hair_color: 0,
skin: 0,
eye_color: 0,
))),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
meta: [
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
LoadoutAsset("common.loadout.spots.witch"),
],
)

View File

@ -1,11 +1,11 @@
EntityConfig (
name: Name("Grim Salvager"),
body: RandomWith("humanoid"),
alignment: Alignment(Enemy),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")),
meta: [
SkillSetAsset("common.skillset.village.guard"),

View File

@ -1,9 +1,9 @@
EntityConfig (
name: Name("Saurok Bandit"),
body: RandomWith("saurok_mighty"),
alignment: Alignment(Enemy),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
hands: TwoHanded(Item("common.items.npc_weapons.bow.saurok_bow")),
hands: TwoHanded(Item("common.items.npc_weapons.bow.saurok_bow")),
)

View File

@ -0,0 +1,24 @@
EntityConfig (
name: Name("Witch"),
body: Exact(Humanoid(Body(
species: Human,
body_type: Female,
hair_style: 2,
beard: 0,
eyes: 0,
accessory: 0,
hair_color: 0,
skin: 0,
eye_color: 0,
))),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
meta: [
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
LoadoutAsset("common.loadout.spots.witch"),
],
)

View File

@ -4,9 +4,9 @@
(
specifier: "world.structure.natural.saurok-altar",
center: (10, 13, 3),
custom_indices: {
custom_indices: {
105: Filled(GlowingRock, (r: 161, g: 255, b: 133)),
113: Filled(GlowingRock, (r: 139, g: 245, b: 104)),
},
},
),
]

View File

@ -4,7 +4,7 @@
(
specifier: "world.structure.natural.dwarven_grave",
center: (20, 23, 5),
custom_indices: {
custom_indices: {
151: Filled(GlowingRock, (r: 50, g: 255, b: 210)),
152: Filled(GlowingRock, (r: 36, g: 187, b: 151)),
},

View File

@ -4,7 +4,7 @@
(
specifier: "world.structure.natural.gnarling_totem",
center: (9, 5, 5),
custom_indices: {
custom_indices: {
217: Filled(GlowingRock, (r: 0, g: 255, b: 246)),
},
),

View File

@ -1,24 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.acacia.1",
center: (17, 18, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
(
specifier: "world.tree.acacia.4",
center: (12, 14, 4)
),
(
specifier: "world.tree.acacia.5",
center: (19, 19, 4)
),
]

View File

@ -1,56 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.baobab.0",
center: (22, 28, 10)
),
(
specifier: "world.tree.baobab.1",
center: (18, 18, 6)
),
(
specifier: "world.tree.baobab.2",
center: (18, 218, 6)
),
(
specifier: "world.tree.baobab.3",
center: (18, 16, 10)
),
(
specifier: "world.tree.baobab.4",
center: (15, 16, 5)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.6",
center: (17, 17, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.mangroves.1",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.2",
center: (16, 17, 7)
),
(
specifier: "world.tree.mangroves.3",
center: (18, 19, 8)
),
(
specifier: "world.tree.mangroves.4",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.5",
center: (19, 20, 9)
),
(
specifier: "world.tree.mangroves.6",
center: (18, 21, 9)
),
(
specifier: "world.tree.mangroves.7",
center: (20, 17, 9)
),
(
specifier: "world.tree.mangroves.8",
center: (18, 19, 9)
),
]

View File

@ -1,40 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.oak_green.1",
center: (15, 17, 14)
),
(
specifier: "world.tree.oak_green.2",
center: (18, 17, 14)
),
(
specifier: "world.tree.oak_green.3",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.4",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.5",
center: (18, 18, 14)
),
(
specifier: "world.tree.oak_green.6",
center: (18, 21, 14)
),
(
specifier: "world.tree.oak_green.7",
center: (20, 21, 14)
),
(
specifier: "world.tree.oak_green.8",
center: (22, 21, 14)
),
(
specifier: "world.tree.oak_green.9",
center:(21, 21, 14)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.pine_green.1",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.2",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.3",
center: (17, 15, 12)
),
(
specifier: "world.tree.pine_green.4",
center: (10, 8, 12)
),
(
specifier: "world.tree.pine_green.5",
center: (12, 12, 12)
),
(
specifier: "world.tree.pine_green.6",
center: (11, 10, 12)
),
(
specifier: "world.tree.pine_green.7",
center: (16, 15, 12)
),
(
specifier: "world.tree.pine_green.8",
center: (12, 10, 12)
),
]

View File

@ -18,11 +18,12 @@
GreenSludge: None,
// Leaves all actually get interpolated.
TemperateLeaves: [
(start: (20, 100, 40), end: (60, 120, 0)),
//(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)),
],
(start: (20, 100, 40), end: (60, 120, 0)),
// TODO: Uncomment when we add autumnal trees
//(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)),
],
PineLeaves: [(start: (0, 60, 50), end: (30, 80, 10))],
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],

BIN
assets/world/tree/acacia/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/0.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/7.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/8.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/7.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/8.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/9.vox (Stored with Git LFS)

Binary file not shown.

View File

@ -278,7 +278,7 @@ pub fn block_from_structure(
} else {
Block::air(SpriteKind::Empty)
};
if field.get(pos + structure_pos) % 16 < 8 {
if field.chance(pos + structure_pos, 0.5) {
Some(block)
} else {
Some(block.with_sprite(SpriteKind::Chest))
@ -302,7 +302,9 @@ pub fn block_from_structure(
let range = if ranges.is_empty() {
None
} else {
ranges.get(RandomPerm::new(structure_seed).get(13) as usize % ranges.len())
ranges.get(
RandomPerm::new(structure_seed).get(structure_seed) as usize % ranges.len(),
)
};
range.map(|range| {

View File

@ -57,6 +57,8 @@ impl<'a> CanvasInfo<'a> {
})
}
/// Find all spots within range of this canvas's chunk. Returns `(wpos,
/// spot, seed)`.
pub fn nearby_spots(&self) -> impl Iterator<Item = (Vec2<i32>, Spot, u32)> + '_ {
(-1..2)
.map(|x| (-1..2).map(move |y| Vec2::new(x, y)))

View File

@ -31,7 +31,6 @@ use vek::*;
/// that composes the spot and the entities that should be spawned there.
#[derive(Copy, Clone, Debug)]
pub enum Spot {
// *Themed Spots*
DwarvenGrave,
SaurokAltar,
RockCircle,
@ -56,19 +55,6 @@ pub enum Spot {
Shipwreck,
}
// Available Biomes are:
//Void
//Lake
//Grassland
//Ocean
//Mountain
//Snowland
//Desert
//Swamp
//Jungle
//Forest
//Savannah
impl Spot {
pub fn generate(world: &mut WorldSim) {
use BiomeKind::*;
@ -312,6 +298,8 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
entity_radius: f32,
// The entities that should be spawned in the spot, from closest to furthest
// (count_range, spec)
// count_range = number of entities, chosen randomly within this range
// spec = Manifest spec for the entity kind
entities: &'a [(Range<u32>, &'a str)],
}
@ -320,7 +308,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
Spot::DwarvenGrave => SpotConfig {
base_structures: Some("spots_grasslands.dwarven_grave"),
entity_radius: 60.0,
entities: &[(6..12, "common.entity.spot.bandit_camp.dwarf_grave_robber")],
entities: &[(6..12, "common.entity.spot.dwarf_grave_robber")],
},
Spot::SaurokAltar => SpotConfig {
base_structures: Some("spots.jungle.saurok-altar"),
@ -349,7 +337,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
base_structures: Some("spots_general.witch_hut"),
entity_radius: 1.0,
entities: &[
(1..2, "common.entity.spot.bandit_camp.witch_dark"),
(1..2, "common.entity.spot.witch_dark"),
(0..4, "common.entity.wild.peaceful.cat"),
(0..3, "common.entity.wild.peaceful.frog"),
],
@ -382,7 +370,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
Spot::AirshipCrash => SpotConfig {
base_structures: Some("trees.airship_crash"),
entity_radius: 20.0,
entities: &[(4..9, "common.entity.spot.bandit_camp.grim_salvager")],
entities: &[(4..9, "common.entity.spot.grim_salvager")],
},
Spot::FruitTree => SpotConfig {
base_structures: Some("trees.fruit_trees"),

View File

@ -20,17 +20,11 @@ use std::{f32, ops::Range};
use vek::*;
lazy_static! {
static ref OAKS: AssetHandle<StructuresGroup> = Structure::load_group("trees.oaks");
static ref OAK_STUMPS: AssetHandle<StructuresGroup> = Structure::load_group("trees.oak_stumps");
static ref PINES: AssetHandle<StructuresGroup> = Structure::load_group("trees.pines");
static ref PALMS: AssetHandle<StructuresGroup> = Structure::load_group("trees.palms");
static ref ACACIAS: AssetHandle<StructuresGroup> = Structure::load_group("trees.acacias");
static ref BAOBABS: AssetHandle<StructuresGroup> = Structure::load_group("trees.baobabs");
static ref FRUIT_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.fruit_trees");
static ref BIRCHES: AssetHandle<StructuresGroup> = Structure::load_group("trees.birch");
static ref MANGROVE_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.mangrove_trees");
static ref SWAMP_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.swamp_trees");
}
@ -104,7 +98,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Acacia,
);
},
// ForestKind::Acacia => *ACACIAS,
ForestKind::Baobab => {
break 'model TreeModel::Procedural(
ProceduralTree::generate(
@ -114,8 +107,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Baobab,
);
},
// ForestKind::Baobab => *BAOBABS,
// ForestKind::Oak => *OAKS,
ForestKind::Oak => {
break 'model TreeModel::Procedural(
ProceduralTree::generate(
@ -134,7 +125,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Chestnut,
);
},
//ForestKind::Pine => *PINES,
ForestKind::Pine => {
break 'model TreeModel::Procedural(
ProceduralTree::generate(
@ -154,7 +144,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
);
},
ForestKind::Birch => *BIRCHES,
// ForestKind::Mangrove => *MANGROVE_TREES,
ForestKind::Mangrove => {
break 'model TreeModel::Procedural(
ProceduralTree::generate(
@ -449,7 +438,7 @@ impl TreeConfig {
branch_child_radius_lerp: true,
leaf_radius: 4.5 * log_scale..5.5 * log_scale,
leaf_radius_scaled: 0.0,
straightness: 0.3,
straightness: 0.4,
max_depth: 5,
splits: 1.75..2.25,
split_range: 1.0..1.25,

View File

@ -2068,6 +2068,7 @@ impl WorldSim {
near_water: if chunk.river.is_lake()
|| chunk.river.near_river()
|| chunk.alt < CONFIG.sea_level + 6.0
// Close to sea in altitude
{
1.0
} else {