Skip to content

Commit d80baaf

Browse files
committed
Update bristled_forest & grim_woodlands
1 parent 4149f62 commit d80baaf

File tree

12 files changed

+195
-54
lines changed

12 files changed

+195
-54
lines changed

biome-providers/stages/aether_distribution.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ stages:
2020
- AETHER_DRIFTLANDS: 1
2121
- AETHER_LAVENDER_DRIFTLANDS: 1
2222
- AETHER_CRIMSON_HEIGHTS: 1
23-
- AETHER_WEBBED_FOREST: 1
23+
- AETHER_GRIM_WOODLANDS: 1
2424
- AETHER_DISCUS_AETHER: 1
2525
- AETHER_CLOUDLANDS: 1
2626
to:

biomes/abstract/aether.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ vanilla: minecraft:windswept_hills
2222
# downfall: 0.5
2323

2424
features:
25+
preprocessors:
26+
- CLOUD_PLANE
2527
postprocessors:
2628
- HANGING_LANTERNS
2729
structures:

biomes/aether/aether_webbed_forest.yml renamed to biomes/aether/aether_grim_meadows.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
id: AETHER_WEBBED_FOREST
1+
id: AETHER_GRIM_WOODLANDS
22
type: BIOME
33
extends: [ AETHER, AETHER_PLAINS, EQ_DEFAULT]
4-
color: $biomes/colors.yml:AETHER_WEBBED_FOREST
4+
color: $biomes/colors.yml:AETHER_GRIM_WOODLANDS
55
vanilla: minecraft:the_end
66

77
colors:
8-
grass: 0x4c5e3f
9-
foliage: 0x4c5e3f
8+
grass: 0x242423
9+
foliage: 0x242423
1010

1111
palette:
12-
- AETHER_PODZOL: 319
12+
- AETHER_GRIM_PODZOL: 319
1313

1414
features:
1515
postprocessors:
@@ -19,7 +19,7 @@ features:
1919
- GRASS
2020
- FERNS
2121
trees:
22-
- WEB_TREES
22+
- GRIM_TREES
2323
landforms:
2424
- SMALL_MOSSY_BOULDER_PATCHES
2525
- GRAVES

biomes/aether/highlands/aether_bristled_forest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ terrain:
4848
frequency: 0.005 / ${meta.yml:terrain-configuration.island-scale}
4949

5050
colors:
51-
grass: 0x619961
52-
foliage: 0x619961
51+
grass: 0x635229
52+
foliage: 0x635229
5353

5454
palette:
5555
- AETHER_PODZOL: 319

biomes/colors.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# aether highlands
22
AETHER_HIGHLANDS: 0x99bbff
33
AETHER_HIGHLANDS_FOREST: 0x003300
4-
AETHER_BRISTLED_FOREST: 0xEADDCA
4+
AETHER_BRISTLED_FOREST: 0x635229
55
AETHER_RUGGED_CLIFFS: 0x2EFF2E
66
AETHER_ANCIENT_WASTES: 0x444444
77
AETHER_MOUNTAINS: 0x95e674
@@ -16,7 +16,7 @@ AETHER_FOREST: 0x669900
1616
AETHER_LAVENDER_DRIFTLANDS: 0xbf40bf
1717
AETHER_LUSH_FOREST: 0x00b300
1818
AETHER_PLAINS: 0x4d9900
19-
AETHER_WEBBED_FOREST: 0x4c5e3f
19+
AETHER_GRIM_WOODLANDS: 0x242423
2020
AETHER_CLOUDLANDS: 0xc9c9c9
2121
AETHER_DISCUS_AETHER: 0xB0da9f
2222

features/aether/cloud_plane.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
id: CLOUD_PLANE
2+
type: FEATURE
3+
4+
distributor:
5+
type: AND
6+
distributors:
7+
- type: SAMPLER
8+
sampler:
9+
type: POSITIVE_WHITE_NOISE
10+
salt: 1031
11+
threshold: 0.4
12+
- type: SAMPLER
13+
sampler:
14+
type: PROBABILITY
15+
sampler:
16+
type: DOMAIN_WARP
17+
amplitude: 5
18+
warp:
19+
type: GAUSSIAN
20+
sampler:
21+
type: OPEN_SIMPLEX_2
22+
salt: 9419
23+
threshold: 0.4
24+
25+
locator:
26+
type: PATTERN
27+
range:
28+
min: 254
29+
max: 255
30+
pattern:
31+
type: MATCH_AIR
32+
offset: 0
33+
34+
structures:
35+
distribution:
36+
type: CONSTANT
37+
structures: BLOCK:minecraft:white_stained_glass

features/aether/structures/ruins/ancient_towers.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ type: FEATURE
33

44
distributor:
55
type: PADDED_GRID
6-
width: 57
7-
padding: 43
8-
salt: 4858
6+
width: 78
7+
padding: 67
8+
salt: 4808
99

1010
locator:
1111
type: AND

features/aether/vegetation/trees/web_trees.yml renamed to features/aether/vegetation/trees/grim_trees.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
id: WEB_TREES
1+
id: GRIM_TREES
22
type: FEATURE
33

44
distributor:
@@ -12,7 +12,7 @@ locator:
1212
locators:
1313
- type: TOP
1414
range: &range
15-
min: 100
15+
min: 50
1616
max: 319
1717
- type: PATTERN
1818
range: *range
@@ -33,6 +33,5 @@ structures:
3333
distribution:
3434
type: WHITE_NOISE
3535
structures:
36-
- dead_tree_procedural: 1
37-
- web_tree_procedural: 6
38-
- web_tree_procedural_2: 3
36+
- grim_tree_procedural: 5
37+
- big_grim_tree_procedural: 1
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
id: AETHER_GRIM_PODZOL
2+
type: PALETTE
3+
4+
layers:
5+
- materials:
6+
- minecraft:grass_block: 4
7+
- minecraft:coarse_dirt: 1
8+
- minecraft:podzol: 1
9+
- minecraft:black_concrete_powder: 2
10+
layers: 1
11+
sampler:
12+
type: DOMAIN_WARP
13+
amplitude: 1
14+
warp:
15+
type: GAUSSIAN
16+
sampler:
17+
type: FBM
18+
octaves: 2
19+
sampler:
20+
type: OPEN_SIMPLEX_2
21+
frequency: 0.2
22+
salt: 293
23+
- materials:
24+
- minecraft:dirt: 1
25+
layers: 2
26+
- materials:
27+
- minecraft:stone: 10
28+
- minecraft:cobblestone: 5
29+
- minecraft:mossy_cobblestone: 3
30+
layers: 1
31+
sampler:
32+
type: DOMAIN_WARP
33+
amplitude: 1
34+
warp:
35+
type: GAUSSIAN
36+
sampler:
37+
type: FBM
38+
octaves: 2
39+
sampler:
40+
type: OPEN_SIMPLEX_2
41+
frequency: 0.2
42+
salt: 293

structures/aether/vegetation/trees/web_tree_procedural.tesf renamed to structures/aether/vegetation/trees/big_grim_tree_procedural.tesf

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ num randPrecision = 100;
22
num goldenAngle = 2.39996;
33
num pi = 3.14159;
44

5-
num trunkHeight = 5+randomInt(7);
5+
num trunkHeight = 8+randomInt(9);
66
str trunkBlock = "minecraft:dark_oak_log";
77
str rootBlock = "minecraft:dark_oak_wood";
88

9-
num sideBranchInterval = 10;
9+
num sideBranchInterval = 3;
1010
num sideBranchMinHeight = 3+randomInt(3);
11-
num sideBranchLengthMin = 2+randomInt(2);
11+
num sideBranchLengthMin = 7+randomInt(2);
1212
num sideBranchLengthVariation = 2;
1313
num sideBranchVerticalVariation = 0;
1414
num sideBranchVerticalDirection = 0.5+randomInt(randPrecision)/randPrecision/2;
@@ -22,11 +22,11 @@ str sideBranchBlockX = "minecraft:dark_oak_log[axis=x]";
2222
str sideBranchBlockY = "minecraft:dark_oak_log[axis=y]";
2323
str sideBranchBlockZ = "minecraft:dark_oak_log[axis=z]";
2424

25-
num topBranches = 3+randomInt(2);
26-
num topBranchLengthUpwardsMin = 3+randomInt(3);
27-
num topBranchLengthOutwardsMin = 4+randomInt(3);
28-
num topBranchVerticalDirection = 0.5+randomInt(randPrecision)/randPrecision/3;
29-
num topBranchLeafRadiusMin = 3;
25+
num topBranches = 5+randomInt(5);
26+
num topBranchLengthUpwardsMin = 8+randomInt(5);
27+
num topBranchLengthOutwardsMin = 12+randomInt(5);
28+
num topBranchVerticalDirection = 0.1+randomInt(randPrecision)/randPrecision/3;
29+
num topBranchLeafRadiusMin = 4;
3030
num topBranchLeafTranslate = 0;
3131
num topBranchLeafTopFlatness = 2;
3232
num topBranchLeafBottomFlatness = 3;
@@ -164,9 +164,9 @@ block(0, -1, 0, "minecraft:dirt");
164164

165165
num twopi = pi*2;
166166

167-
for (num v = 35; v > trunkHeight; v = v - 1) {
168-
num rx = sin(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(9) + 3);
169-
num rz = cos(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(9) + 3);
167+
for (num v = trunkHeight+10; v > trunkHeight; v = v - 1) {
168+
num rx = sin(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(3)+1);
169+
num rz = cos(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(3)+1);
170170
structure(rx, v, rz, "hanging_cobweb", "NONE");
171171
structure(-rx, v, rz, "hanging_cobweb", "NONE");
172172
structure(rx, v, -rz, "hanging_cobweb", "NONE");

structures/aether/vegetation/trees/dead_tree_procedural.tesf

Lines changed: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,42 @@ num randPrecision = 100;
22
num goldenAngle = 2.39996;
33
num pi = 3.14159;
44

5-
num trunkHeight = 2+randomInt(6);
5+
num trunkHeight = 5+randomInt(7);
66
str trunkBlock = "minecraft:dark_oak_log";
7-
str rootBlock = "minecraft:dark_oak_log";
7+
str rootBlock = "minecraft:dark_oak_wood";
88

9-
num sideBranchInterval = 3+randomInt(2);
10-
num sideBranchMinHeight = 2+randomInt(2);
11-
num sideBranchLengthMin = 2+randomInt(3);
9+
num sideBranchInterval = 3;
10+
num sideBranchMinHeight = 1+randomInt(3);
11+
num sideBranchLengthMin = 5+randomInt(2);
1212
num sideBranchLengthVariation = 2;
1313
num sideBranchVerticalVariation = 0;
14-
num sideBranchVerticalDirection = 0.3+randomInt(randPrecision)/randPrecision/2;
14+
num sideBranchVerticalDirection = 0.5+randomInt(randPrecision)/randPrecision/2;
15+
num sideBranchLeafRadiusMin = 4;
16+
num sideBranchLeafTranslate = 0;
17+
num sideBranchLeafTopFlatness = 2;
18+
num sideBranchLeafBottomFlatness = 3;
19+
num sideBranchLeafDensity = 0.5;
20+
str sideBranchLeafStructure = "blank";
1521
str sideBranchBlockX = "minecraft:dark_oak_log[axis=x]";
1622
str sideBranchBlockY = "minecraft:dark_oak_log[axis=y]";
1723
str sideBranchBlockZ = "minecraft:dark_oak_log[axis=z]";
1824

19-
num topBranches = 2+randomInt(2);
20-
num topBranchLengthUpwardsMin = 2+randomInt(2);
21-
num topBranchLengthOutwardsMin = 2+randomInt(3);
22-
num topBranchVerticalDirection = 0.5;
25+
num topBranches = 5+randomInt(5);
26+
num topBranchLengthUpwardsMin = 6+randomInt(5);
27+
num topBranchLengthOutwardsMin = 10+randomInt(5);
28+
num topBranchVerticalDirection = 0.1+randomInt(randPrecision)/randPrecision/3;
29+
num topBranchLeafRadiusMin = 4;
30+
num topBranchLeafTranslate = 0;
31+
num topBranchLeafTopFlatness = 2;
32+
num topBranchLeafBottomFlatness = 3;
33+
num topBranchLeafDensity = 0.5;
34+
str topBranchLeafStructure = "blank";
2335
str topBranchBlockX = "minecraft:dark_oak_log[axis=x]";
2436
str topBranchBlockY = "minecraft:dark_oak_log[axis=y]";
2537
str topBranchBlockZ = "minecraft:dark_oak_log[axis=z]";
2638

2739
// Generate roots at base of trunk
28-
num roots = 0;
40+
num roots = 1+randomInt(3);
2941
num rootMaxDepth = 3;
3042
num rootHeight = 5;
3143
num rootLength = 2;
@@ -76,6 +88,25 @@ for (num i = 0; i < trunkHeight; i = i + 1) {
7688
}
7789
// Rotate angle of next branch
7890
branchAngle = branchAngle + goldenAngle;
91+
// Generate leaf cluster at the end of the branch
92+
num radius = sideBranchLeafRadiusMin;
93+
num radiusSquared = pow(radius, 2);
94+
// Leaf cluster origin (end of branch)
95+
num lox = ox+branchLength*dx;
96+
num loy = oy+branchLength*dy + sideBranchLeafTranslate;
97+
num loz = oz+branchLength*dz;
98+
for (num cx = ceil(-radius); cx <= ceil(radius); cx = cx + 1) {
99+
for (num cy = ceil(-radius/sideBranchLeafBottomFlatness); cy <= ceil(radius/sideBranchLeafTopFlatness); cy = cy + 1) {
100+
for (num cz = ceil(-radius); cz <= ceil(radius); cz = cz + 1) {
101+
num squashFactor = sideBranchLeafBottomFlatness;
102+
if (cy > 0) squashFactor = sideBranchLeafTopFlatness;
103+
num distanceSquared = pow(cx,2)+pow(cy*squashFactor,2)+pow(cz,2);
104+
if (distanceSquared < radiusSquared && randomInt(randPrecision)/randPrecision < sideBranchLeafDensity) {
105+
structure(lox+cx, loy+cy, loz+cz, sideBranchLeafStructure, "NONE", "CW_90", "CCW_90", "CW_180");
106+
}
107+
}
108+
}
109+
}
79110
}
80111
}
81112
block(0, i, 0, trunkBlock);
@@ -108,6 +139,36 @@ for (num b = 1; b <= topBranches; b = b + 1) {
108139
}
109140
// Rotate angle of next branch
110141
branchAngle = branchAngle + goldenAngle;
142+
// Generate leaf cluster at the end of the branch
143+
num radius = topBranchLeafRadiusMin;
144+
num radiusSquared = pow(radius, 2);
145+
// Leaf cluster origin (end of branch)
146+
num lox = ox+branchLength*dx;
147+
num loy = oy+branchLength*dy + topBranchLeafTranslate;
148+
num loz = oz+branchLength*dz;
149+
for (num cx = ceil(-radius); cx <= ceil(radius); cx = cx + 1) {
150+
for (num cy = ceil(-radius/topBranchLeafBottomFlatness); cy <= ceil(radius/topBranchLeafTopFlatness); cy = cy + 1) {
151+
for (num cz = ceil(-radius); cz <= ceil(radius); cz = cz + 1) {
152+
num squashFactor = topBranchLeafBottomFlatness;
153+
if (cy > 0) squashFactor = topBranchLeafTopFlatness;
154+
num distanceSquared = pow(cx,2)+pow(cy*squashFactor,2)+pow(cz,2);
155+
if (distanceSquared < radiusSquared && randomInt(randPrecision)/randPrecision < topBranchLeafDensity) {
156+
structure(lox+cx, loy+cy, loz+cz, topBranchLeafStructure, "NONE", "CW_90", "CCW_90", "CW_180");
157+
}
158+
}
159+
}
160+
}
111161
}
112162

113-
block(0, -1, 0, "minecraft:dirt");
163+
block(0, -1, 0, "minecraft:dirt");
164+
165+
num twopi = pi*2;
166+
167+
for (num v = trunkHeight+10; v > trunkHeight; v = v - 1) {
168+
num rx = sin(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(3)+1);
169+
num rz = cos(randomInt(randPrecision)/randPrecision * twopi) * (randomInt(3)+1);
170+
structure(rx, v, rz, "hanging_cobweb", "NONE");
171+
structure(-rx, v, rz, "hanging_cobweb", "NONE");
172+
structure(rx, v, -rz, "hanging_cobweb", "NONE");
173+
structure(-rx, v, -rz, "hanging_cobweb", "NONE");
174+
}

0 commit comments

Comments
 (0)