mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Removed unused tree assets
This commit is contained in:
parent
13c15b3840
commit
b646aae2a4
@ -32,6 +32,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Experimental terrain persistence (see server documentation)
|
- Experimental terrain persistence (see server documentation)
|
||||||
- Add GPU filtering using WGPU_ADAPTER environment variable
|
- Add GPU filtering using WGPU_ADAPTER environment variable
|
||||||
- Explosions no longer change block colours within safe zones
|
- 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
|
### Changed
|
||||||
|
|
||||||
|
@ -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"),
|
|
||||||
],
|
|
||||||
)
|
|
@ -1,11 +1,11 @@
|
|||||||
EntityConfig (
|
EntityConfig (
|
||||||
name: Name("Grim Salvager"),
|
name: Name("Grim Salvager"),
|
||||||
body: RandomWith("humanoid"),
|
body: RandomWith("humanoid"),
|
||||||
alignment: Alignment(Enemy),
|
alignment: Alignment(Enemy),
|
||||||
|
|
||||||
loot: LootTable("common.loot_tables.humanoids"),
|
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: [
|
meta: [
|
||||||
SkillSetAsset("common.skillset.village.guard"),
|
SkillSetAsset("common.skillset.village.guard"),
|
@ -1,9 +1,9 @@
|
|||||||
EntityConfig (
|
EntityConfig (
|
||||||
name: Name("Saurok Bandit"),
|
name: Name("Saurok Bandit"),
|
||||||
body: RandomWith("saurok_mighty"),
|
body: RandomWith("saurok_mighty"),
|
||||||
alignment: Alignment(Enemy),
|
alignment: Alignment(Enemy),
|
||||||
|
|
||||||
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
|
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")),
|
||||||
)
|
)
|
24
assets/common/entity/spot/witch_dark.ron
Normal file
24
assets/common/entity/spot/witch_dark.ron
Normal 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"),
|
||||||
|
],
|
||||||
|
)
|
@ -4,9 +4,9 @@
|
|||||||
(
|
(
|
||||||
specifier: "world.structure.natural.saurok-altar",
|
specifier: "world.structure.natural.saurok-altar",
|
||||||
center: (10, 13, 3),
|
center: (10, 13, 3),
|
||||||
custom_indices: {
|
custom_indices: {
|
||||||
105: Filled(GlowingRock, (r: 161, g: 255, b: 133)),
|
105: Filled(GlowingRock, (r: 161, g: 255, b: 133)),
|
||||||
113: Filled(GlowingRock, (r: 139, g: 245, b: 104)),
|
113: Filled(GlowingRock, (r: 139, g: 245, b: 104)),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
(
|
(
|
||||||
specifier: "world.structure.natural.dwarven_grave",
|
specifier: "world.structure.natural.dwarven_grave",
|
||||||
center: (20, 23, 5),
|
center: (20, 23, 5),
|
||||||
custom_indices: {
|
custom_indices: {
|
||||||
151: Filled(GlowingRock, (r: 50, g: 255, b: 210)),
|
151: Filled(GlowingRock, (r: 50, g: 255, b: 210)),
|
||||||
152: Filled(GlowingRock, (r: 36, g: 187, b: 151)),
|
152: Filled(GlowingRock, (r: 36, g: 187, b: 151)),
|
||||||
},
|
},
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
(
|
(
|
||||||
specifier: "world.structure.natural.gnarling_totem",
|
specifier: "world.structure.natural.gnarling_totem",
|
||||||
center: (9, 5, 5),
|
center: (9, 5, 5),
|
||||||
custom_indices: {
|
custom_indices: {
|
||||||
217: Filled(GlowingRock, (r: 0, g: 255, b: 246)),
|
217: Filled(GlowingRock, (r: 0, g: 255, b: 246)),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
@ -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)
|
|
||||||
),
|
|
||||||
]
|
|
@ -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)
|
|
||||||
),
|
|
||||||
]
|
|
@ -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)
|
|
||||||
),
|
|
||||||
]
|
|
@ -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)
|
|
||||||
),
|
|
||||||
]
|
|
@ -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)
|
|
||||||
),
|
|
||||||
]
|
|
@ -18,11 +18,12 @@
|
|||||||
GreenSludge: None,
|
GreenSludge: None,
|
||||||
// Leaves all actually get interpolated.
|
// Leaves all actually get interpolated.
|
||||||
TemperateLeaves: [
|
TemperateLeaves: [
|
||||||
(start: (20, 100, 40), end: (60, 120, 0)),
|
(start: (20, 100, 40), end: (60, 120, 0)),
|
||||||
//(start: (178, 216, 0), end: (255, 185, 63)),
|
// TODO: Uncomment when we add autumnal trees
|
||||||
//(start: (142, 164, 0), end: (142, 164, 0)),
|
//(start: (178, 216, 0), end: (255, 185, 63)),
|
||||||
//(start: (168, 81, 0), end: (54, 150, 31)),
|
//(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))],
|
PineLeaves: [(start: (0, 60, 50), end: (30, 80, 10))],
|
||||||
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
|
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
|
||||||
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],
|
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],
|
||||||
|
BIN
assets/world/tree/acacia/1.vox
(Stored with Git LFS)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
BIN
assets/world/tree/oak_green/9.vox
(Stored with Git LFS)
Binary file not shown.
@ -278,7 +278,7 @@ pub fn block_from_structure(
|
|||||||
} else {
|
} else {
|
||||||
Block::air(SpriteKind::Empty)
|
Block::air(SpriteKind::Empty)
|
||||||
};
|
};
|
||||||
if field.get(pos + structure_pos) % 16 < 8 {
|
if field.chance(pos + structure_pos, 0.5) {
|
||||||
Some(block)
|
Some(block)
|
||||||
} else {
|
} else {
|
||||||
Some(block.with_sprite(SpriteKind::Chest))
|
Some(block.with_sprite(SpriteKind::Chest))
|
||||||
@ -302,7 +302,9 @@ pub fn block_from_structure(
|
|||||||
let range = if ranges.is_empty() {
|
let range = if ranges.is_empty() {
|
||||||
None
|
None
|
||||||
} else {
|
} 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| {
|
range.map(|range| {
|
||||||
|
@ -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)> + '_ {
|
pub fn nearby_spots(&self) -> impl Iterator<Item = (Vec2<i32>, Spot, u32)> + '_ {
|
||||||
(-1..2)
|
(-1..2)
|
||||||
.map(|x| (-1..2).map(move |y| Vec2::new(x, y)))
|
.map(|x| (-1..2).map(move |y| Vec2::new(x, y)))
|
||||||
|
@ -31,7 +31,6 @@ use vek::*;
|
|||||||
/// that composes the spot and the entities that should be spawned there.
|
/// that composes the spot and the entities that should be spawned there.
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
pub enum Spot {
|
pub enum Spot {
|
||||||
// *Themed Spots*
|
|
||||||
DwarvenGrave,
|
DwarvenGrave,
|
||||||
SaurokAltar,
|
SaurokAltar,
|
||||||
RockCircle,
|
RockCircle,
|
||||||
@ -56,19 +55,6 @@ pub enum Spot {
|
|||||||
Shipwreck,
|
Shipwreck,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Available Biomes are:
|
|
||||||
//Void
|
|
||||||
//Lake
|
|
||||||
//Grassland
|
|
||||||
//Ocean
|
|
||||||
//Mountain
|
|
||||||
//Snowland
|
|
||||||
//Desert
|
|
||||||
//Swamp
|
|
||||||
//Jungle
|
|
||||||
//Forest
|
|
||||||
//Savannah
|
|
||||||
|
|
||||||
impl Spot {
|
impl Spot {
|
||||||
pub fn generate(world: &mut WorldSim) {
|
pub fn generate(world: &mut WorldSim) {
|
||||||
use BiomeKind::*;
|
use BiomeKind::*;
|
||||||
@ -312,6 +298,8 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
|
|||||||
entity_radius: f32,
|
entity_radius: f32,
|
||||||
// The entities that should be spawned in the spot, from closest to furthest
|
// The entities that should be spawned in the spot, from closest to furthest
|
||||||
// (count_range, spec)
|
// (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)],
|
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 {
|
Spot::DwarvenGrave => SpotConfig {
|
||||||
base_structures: Some("spots_grasslands.dwarven_grave"),
|
base_structures: Some("spots_grasslands.dwarven_grave"),
|
||||||
entity_radius: 60.0,
|
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 {
|
Spot::SaurokAltar => SpotConfig {
|
||||||
base_structures: Some("spots.jungle.saurok-altar"),
|
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"),
|
base_structures: Some("spots_general.witch_hut"),
|
||||||
entity_radius: 1.0,
|
entity_radius: 1.0,
|
||||||
entities: &[
|
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..4, "common.entity.wild.peaceful.cat"),
|
||||||
(0..3, "common.entity.wild.peaceful.frog"),
|
(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 {
|
Spot::AirshipCrash => SpotConfig {
|
||||||
base_structures: Some("trees.airship_crash"),
|
base_structures: Some("trees.airship_crash"),
|
||||||
entity_radius: 20.0,
|
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 {
|
Spot::FruitTree => SpotConfig {
|
||||||
base_structures: Some("trees.fruit_trees"),
|
base_structures: Some("trees.fruit_trees"),
|
||||||
|
@ -20,17 +20,11 @@ use std::{f32, ops::Range};
|
|||||||
use vek::*;
|
use vek::*;
|
||||||
|
|
||||||
lazy_static! {
|
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 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 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> =
|
static ref FRUIT_TREES: AssetHandle<StructuresGroup> =
|
||||||
Structure::load_group("trees.fruit_trees");
|
Structure::load_group("trees.fruit_trees");
|
||||||
static ref BIRCHES: AssetHandle<StructuresGroup> = Structure::load_group("trees.birch");
|
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> =
|
static ref SWAMP_TREES: AssetHandle<StructuresGroup> =
|
||||||
Structure::load_group("trees.swamp_trees");
|
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,
|
StructureBlock::Acacia,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
// ForestKind::Acacia => *ACACIAS,
|
|
||||||
ForestKind::Baobab => {
|
ForestKind::Baobab => {
|
||||||
break 'model TreeModel::Procedural(
|
break 'model TreeModel::Procedural(
|
||||||
ProceduralTree::generate(
|
ProceduralTree::generate(
|
||||||
@ -114,8 +107,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
|
|||||||
StructureBlock::Baobab,
|
StructureBlock::Baobab,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
// ForestKind::Baobab => *BAOBABS,
|
|
||||||
// ForestKind::Oak => *OAKS,
|
|
||||||
ForestKind::Oak => {
|
ForestKind::Oak => {
|
||||||
break 'model TreeModel::Procedural(
|
break 'model TreeModel::Procedural(
|
||||||
ProceduralTree::generate(
|
ProceduralTree::generate(
|
||||||
@ -134,7 +125,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
|
|||||||
StructureBlock::Chestnut,
|
StructureBlock::Chestnut,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
//ForestKind::Pine => *PINES,
|
|
||||||
ForestKind::Pine => {
|
ForestKind::Pine => {
|
||||||
break 'model TreeModel::Procedural(
|
break 'model TreeModel::Procedural(
|
||||||
ProceduralTree::generate(
|
ProceduralTree::generate(
|
||||||
@ -154,7 +144,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
ForestKind::Birch => *BIRCHES,
|
ForestKind::Birch => *BIRCHES,
|
||||||
// ForestKind::Mangrove => *MANGROVE_TREES,
|
|
||||||
ForestKind::Mangrove => {
|
ForestKind::Mangrove => {
|
||||||
break 'model TreeModel::Procedural(
|
break 'model TreeModel::Procedural(
|
||||||
ProceduralTree::generate(
|
ProceduralTree::generate(
|
||||||
@ -449,7 +438,7 @@ impl TreeConfig {
|
|||||||
branch_child_radius_lerp: true,
|
branch_child_radius_lerp: true,
|
||||||
leaf_radius: 4.5 * log_scale..5.5 * log_scale,
|
leaf_radius: 4.5 * log_scale..5.5 * log_scale,
|
||||||
leaf_radius_scaled: 0.0,
|
leaf_radius_scaled: 0.0,
|
||||||
straightness: 0.3,
|
straightness: 0.4,
|
||||||
max_depth: 5,
|
max_depth: 5,
|
||||||
splits: 1.75..2.25,
|
splits: 1.75..2.25,
|
||||||
split_range: 1.0..1.25,
|
split_range: 1.0..1.25,
|
||||||
|
@ -2068,6 +2068,7 @@ impl WorldSim {
|
|||||||
near_water: if chunk.river.is_lake()
|
near_water: if chunk.river.is_lake()
|
||||||
|| chunk.river.near_river()
|
|| chunk.river.near_river()
|
||||||
|| chunk.alt < CONFIG.sea_level + 6.0
|
|| chunk.alt < CONFIG.sea_level + 6.0
|
||||||
|
// Close to sea in altitude
|
||||||
{
|
{
|
||||||
1.0
|
1.0
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user