Skip to content

Major Version 2.0 #139

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 363 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
363 commits
Select commit Hold shift + click to select a range
edace7d
Add pink_petals feature
justaureus Jul 12, 2023
82a7477
Modify cherry blossom tree to use new blocks
justaureus Jul 12, 2023
0b16091
Update sakura grove with new features
justaureus Jul 12, 2023
be16837
Shorten cherry trees
justaureus Jul 13, 2023
d70b645
Update swamp generation to work with heightmap
justaureus Jul 13, 2023
480eea1
Adjust swamp cell size
justaureus Jul 13, 2023
7ad1885
Remove carving from spot biomes containing fluid
astrsh Feb 28, 2023
ad620f9
Fix malformed pink petal block ID
astrsh Jul 15, 2023
c77f813
Prevent EQ_LAND terracing from cutting below ocean
astrsh Jul 15, 2023
1449e37
Disable crater lakes for now
astrsh Jul 15, 2023
5020786
Don't use cold desert spot biomes in arid temperate zones
astrsh Jul 15, 2023
8340688
Formatting
astrsh Jul 15, 2023
019364f
Update plains palettes to use meta
astrsh Jul 15, 2023
fd396b5
Add slant palette to moorland
astrsh Jul 15, 2023
41b611a
Replace references to y319 with meta value
astrsh Jul 15, 2023
2c6b3c7
Make palette Y levels relative to ocean level
astrsh Jul 15, 2023
f1c95b1
Add slant palette to salt flats
astrsh Jul 15, 2023
9d35270
Use metaconfig for feature Y ranges
astrsh Jul 16, 2023
d34986d
Move feature to features folder
astrsh Jul 16, 2023
87d3e49
Use simpler meta y keys
astrsh Jul 16, 2023
fe8df15
Metaconfig more Y levels
astrsh Jul 16, 2023
2d8c583
Clean up biomes/abstract/terrain
astrsh Jul 16, 2023
c2ccf38
Hopefully fix leaf decay in dark forests
astrsh Jul 16, 2023
2a82909
Rework spawn island to use new samplers
astrsh Jul 18, 2023
f099b8b
Translate global samplers to avoid noise bias at 0,0
astrsh Jul 18, 2023
bb76348
Rename single preset to single_debug
astrsh Sep 8, 2023
a3b31ad
Add 'single' preset, includes river+cave biomes
astrsh Sep 8, 2023
9e74be1
Expose more terrain options in customization.yml
astrsh Sep 8, 2023
cd69c26
Add tip
astrsh Sep 8, 2023
7c3e3ef
Forgot to set these to default value
astrsh Sep 9, 2023
1a031e7
Implement global height spikes eq
astrsh Sep 9, 2023
6b32661
Add cold river biome
astrsh Sep 9, 2023
5bfb8e0
Add easing for cracked flats eq
astrsh Jul 19, 2023
9ce3e09
Make grass snow mix palette more detailed
astrsh Jul 21, 2023
0a069b3
Use different slant palette in temperate plateau
astrsh Sep 10, 2023
cac4dc6
Use swamp eq in bamboo ponds
astrsh Sep 10, 2023
4ef6641
Add alien marsh biome
astrsh Sep 10, 2023
ab02690
Comment
astrsh Sep 9, 2023
f880230
Remove some unnecessary biomes
astrsh Sep 10, 2023
3567df1
Eq tweaks
astrsh Sep 10, 2023
339829f
Forgot color
astrsh Sep 10, 2023
4bf3158
Make pink petals gen below sakura trees
astrsh Sep 10, 2023
cc3081a
Add rocky eq
astrsh Sep 10, 2023
246fbcd
Palette refactor
astrsh Sep 10, 2023
740f9ac
Change some of the biome eqs
astrsh Sep 10, 2023
ed98f6b
Various misc changes
astrsh Sep 10, 2023
41f93c6
These should be under elevation name
astrsh Sep 14, 2023
c8be1f1
terrain -> elevation
astrsh Sep 14, 2023
75ca5f8
Add elevation multipler and offset customization
astrsh Sep 14, 2023
cb2c03f
Add continental spread option
astrsh Sep 14, 2023
c27f86d
Add flatness sampler
astrsh Sep 14, 2023
40245d5
Make ocean elevation use 'factor continental'
astrsh Sep 14, 2023
2c69227
Re-add lowlands distribution to fix low coast biomes
astrsh Sep 15, 2023
1ce4ff8
Clean precipitation vars
astrsh Sep 15, 2023
cfc9a6e
Make elevation noise more even
astrsh Sep 15, 2023
61dd8fb
Reduce lapse rate
astrsh Sep 15, 2023
867c04d
Increase river spread
astrsh Sep 15, 2023
5f5df34
Add temperate overpass biome
astrsh Sep 16, 2023
26ffcfd
Make river border biomes only gen in lowlands
astrsh Sep 16, 2023
30deadf
Tweak overpass
astrsh Sep 16, 2023
8cb14ee
Refactor desert stuff
astrsh Sep 16, 2023
8d2e544
Make generic elevationDetailed sampler
astrsh Sep 16, 2023
77d32b7
Randomize river width
astrsh Sep 17, 2023
49dec65
Split hot desert by palette
astrsh Sep 21, 2023
0916eeb
Add pearlescent desert biome
astrsh Sep 21, 2023
08803b3
Add desert river biomes
astrsh Sep 27, 2023
438e9f5
Re-organize biomes/marine/river
astrsh Sep 27, 2023
caabbde
Forgot to stage color
astrsh Sep 27, 2023
3f274d2
Plateau -> Mesa
astrsh Sep 30, 2023
40d0cb0
Simplify climate names
astrsh Oct 1, 2023
9d098f6
Add crater eq
astrsh Oct 1, 2023
6d50835
Add column eq
astrsh Oct 1, 2023
78cac4e
Fogor minecraft namespace
astrsh Oct 2, 2023
4f51c13
Add travertine terraces waterfalls
astrsh Oct 2, 2023
0d2f5ef
Add water streams to contained floating water
astrsh Oct 9, 2023
73c1a3a
Remove old river eq
astrsh Oct 9, 2023
ba077d6
River terrain tweaks
astrsh Oct 10, 2023
d6e4631
Remove deep ocean folders
astrsh Oct 11, 2023
5b38fd9
Organize structures
astrsh Oct 11, 2023
59f4a80
Organize features
astrsh Oct 11, 2023
169dd9b
Flatten biomes/marine contents
astrsh Oct 11, 2023
64249cf
Add shallow ocean zone
astrsh Oct 11, 2023
9221ab7
Add rocky shallow ocean biome
astrsh Oct 11, 2023
ba1a769
Add clinging kelp feature
astrsh Oct 11, 2023
6f8b48b
Rocky shallow ocean tweak
astrsh Oct 11, 2023
63fca2c
Split shallow ocean zone based on nearby terrain height
astrsh Oct 18, 2023
c864a34
Add kelp forest biome
astrsh Oct 20, 2023
5b0594b
Add seagrass meadow biome
astrsh Oct 20, 2023
b32f6d3
Place regular seagrass if tall seagrass fails
astrsh Oct 20, 2023
78e24e9
Extend continental shelf
astrsh Oct 20, 2023
44a28bc
Add mob_rooms
DeathShadez Dec 16, 2023
7f8f5c4
Split steppes into more subcategories
astrsh Jan 3, 2024
941adbd
Add cold desert biomes
astrsh Jan 3, 2024
8e7b015
Replace ``minecraft:grass`` with ``minecraft:short_grass``
justaureus Jan 4, 2024
5ffe78d
Add slight fuzziness to terrain
astrsh Jan 5, 2024
8f60b4b
Only gen stone slant texture boulders under overhangs
astrsh Jan 5, 2024
07f5edf
Use cold steppe instead of plains
astrsh Jan 5, 2024
7c1b9e8
Add better mountain elevation noise
astrsh Jan 5, 2024
6090d3e
Change `sakura_grove` grass and foliage colors
justaureus Jan 5, 2024
e2aef43
Make lush sea caves more mossy
astrsh Jan 5, 2024
0a1c243
Make temperate mountains use regular land eq
astrsh Jan 5, 2024
28dab38
Only generate boulders on slightly angled terrain
astrsh Jan 5, 2024
4337bcf
Reduce stone in mangrove swamp
astrsh Jan 5, 2024
52415d6
Use https for images submodule
astrsh Jan 7, 2024
1b43ad8
Add feature stage blending
astrsh Jan 7, 2024
31a3efc
Merge branch 'PolyhedralDev:2.0' into 2.0
DeathShadez Jan 8, 2024
aac2ec1
Change interpolation of river erosion
astrsh Jan 8, 2024
1f02d19
Add flatness-factor in customization.yml
astrsh Jan 8, 2024
df9fe3f
Replace some coast with land
astrsh Jan 8, 2024
72a9196
Swap smooth stage for expander
astrsh Jan 8, 2024
8f57979
Make mangroves only gen above water when above mud
astrsh Jan 8, 2024
0bf5a66
Make autumnal forest leaves brighter
astrsh Jan 8, 2024
76d496b
Reduce feature blending distance
astrsh Jan 8, 2024
3a47255
Half max spot size
astrsh Jan 8, 2024
f774873
Merge pull request #157 from DeathShadez/2.0
justaureus Apr 1, 2024
f6d9847
Adjust jungle trees to reduce leaf decay intensity
DeathShadez Jul 1, 2024
206fe6d
Make spawn islands look less jank
astrsh Apr 2, 2024
da7529c
Add more documentation in customization.yml
astrsh Jul 11, 2024
3954c2e
Merge branch 'PolyhedralDev:2.0' into 2.0
DeathShadez Aug 7, 2024
35b125b
improve jungle tree procedurals & cocoa beans placements
DeathShadez Aug 8, 2024
1dfeac5
Adjust jungle bush procedural
DeathShadez Aug 8, 2024
a61d9f6
Increase jungle bush distribution placement
DeathShadez Aug 8, 2024
7ebe654
Add melon patches to jungle
DeathShadez Aug 8, 2024
07e7630
Keep dense variation of jungle bushes to only jungle
DeathShadez Aug 8, 2024
97d3e53
Merge pull request #160 from DeathShadez/2.0
Sancires Aug 28, 2024
2832c7b
Add ocean terrain variants submerged eroded coast & spikes
DeathShadez Aug 28, 2024
8aa7e47
Add land glacier
DeathShadez Aug 28, 2024
915e5aa
Add sea glacier (still needs testing)
DeathShadez Aug 28, 2024
feb7f17
Add ocean variants & glaciers to pipeline (testing wip)
DeathShadez Aug 28, 2024
129f70a
Merge branch 'PolyhedralDev:2.0' into 2.0
DeathShadez Aug 28, 2024
0d3ba85
Change eq_submerged_eroded_coast to eq_submerged_overhangs
DeathShadez Aug 29, 2024
ea5329f
Adjust eq_submerged_spikes with oceanElevation
DeathShadez Aug 29, 2024
84817a3
Add palm trees to sub & tropical oceans
DeathShadez Aug 29, 2024
589d860
Fix mob room spawning along ocean floor
DeathShadez Aug 29, 2024
9e5b038
Adjust mob room distributor to reduce close proximity
DeathShadez Aug 29, 2024
de5dae6
Add sea pickles & coral wall fans to coral ocean
DeathShadez Aug 29, 2024
4759228
Add biomeTool colors for ocean overhangs and slope biomes
DeathShadez Aug 30, 2024
d2ec293
Remove sea glacier
DeathShadez Aug 30, 2024
ce34d4f
Add COASTAL_WATER_POOLS and DEAD_CORAL to SHALE_BEACH
DeathShadez Aug 30, 2024
166770c
Fix submerged_overhangs to use oceanElevation
DeathShadez Aug 30, 2024
c99e898
Add deep-ocean folder for each ocean climate
DeathShadez Aug 30, 2024
7272a42
Add deep depths (deep dark ocean variant) for each climate
DeathShadez Aug 30, 2024
40b3822
rename dark_depths oceans to deep_depths
DeathShadez Aug 30, 2024
d6200dc
Add DEEP_OCEAN_VENTS to all climates
DeathShadez Aug 30, 2024
1d3f500
Add biomeTool colors to all DEEP_DEPTHS biomes
DeathShadez Aug 30, 2024
e6e5b52
Fix obvious ocean palette lines with sand deepslate mix
DeathShadez Sep 3, 2024
c566980
Add equation extends for ocean vent biomes for later
DeathShadez Sep 3, 2024
efa5e77
Add sparse big coral procedurals to coral ocean
DeathShadez Sep 4, 2024
aabab49
Allow coral wall fans to stick to coral blocks
DeathShadez Sep 4, 2024
81f98de
Add slight radius variation for coral tube procedural
DeathShadez Sep 4, 2024
f20313a
add giant clam procedurals
DeathShadez Sep 5, 2024
3c2c557
Adjust submerged_overhangs terrain
DeathShadez Sep 5, 2024
a636c4c
Fix deep ocean climate extends for some deep_ocean_vents climates
DeathShadez Sep 5, 2024
8668562
Add ice caves
DeathShadez Sep 5, 2024
0554459
Move ice features and structures into an ice folder
DeathShadez Sep 5, 2024
aca2153
Organize jungle tree structures into a folder
DeathShadez Sep 6, 2024
670e8da
Add fallen oak,dark oak, birch, jungle trees features
DeathShadez Sep 6, 2024
eed426c
Organize spurce tree structure into a spruce folder
DeathShadez Sep 6, 2024
5706e1a
Fix sparse_fallen_spruce_trees salt and width
DeathShadez Sep 6, 2024
ef3d40f
Add fallen cherry tree procedurals
DeathShadez Sep 6, 2024
6e21bac
Add tar pits
DeathShadez Sep 13, 2024
c7b9705
Add TAR_PITS color to colors.yml
DeathShadez Sep 21, 2024
78e268f
Adjust TAR_PITS palettes
DeathShadez Sep 21, 2024
5162740
Remove CONTAIN_WATER generation in prismatic_spring
DeathShadez Sep 21, 2024
81608a0
Modify shrub beach colors, add extra features
Sancires Sep 22, 2024
3c017a6
Improve shrub beach palette
Sancires Sep 22, 2024
7c94596
Fix obvious bamboo ponds palette lines
DeathShadez Sep 22, 2024
8683c51
Fix still water generation in bamboo ponds
DeathShadez Sep 22, 2024
dee043a
Add shrub beach to pipeline
DeathShadez Sep 23, 2024
ecdeac2
Merge pull request #161 from DeathShadez/2.0
duplexsystem Sep 24, 2024
7ebbe35
Merge remote-tracking branch 'origin/2.0' into 2.0
DeathShadez Sep 24, 2024
4a57108
add black sand beach
DeathShadez Sep 24, 2024
80481b5
Add RogueShade to author list
DeathShadez Sep 24, 2024
8ac5d68
add biomeTool color for black sand beach
DeathShadez Sep 25, 2024
ccfc8ac
add muddy coasts
DeathShadez Sep 26, 2024
60474b2
add dry and palm-tree-plantable-blocks lists
DeathShadez Sep 26, 2024
da345bc
Adjust trees, bushes, and flora plantable blocks
DeathShadez Sep 26, 2024
afebaed
Adjust black sand beach arid-coast-flat order
DeathShadez Sep 26, 2024
762f437
Adjust muddy coasts tropical-coast-flat order
DeathShadez Sep 26, 2024
3101aa4
add grass_block to palm-tree-plantable-blocks
DeathShadez Sep 30, 2024
2d91da7
add alternate ore distribution ORES_EMERALD
DeathShadez Sep 30, 2024
b4fb957
add alternate ore distribution ORES_GOLD
DeathShadez Sep 30, 2024
1a6cc2b
Merge pull request #163 from DeathShadez/2.0
duplexsystem Sep 30, 2024
9619e46
Adjust sea pickle distribution
DeathShadez Oct 1, 2024
9b1c80a
Adjust various biomes to USE_DESERT_RIVER
DeathShadez Oct 1, 2024
bcec944
Adjust water colors for COLOR_XERIC
DeathShadez Oct 1, 2024
7551050
Add tropical river
DeathShadez Oct 1, 2024
f0826d0
Fix SAKURA_GROVE biomeTool color
DeathShadez Oct 1, 2024
5caa428
Add TROPICAL_RIVER biomeTool color
DeathShadez Oct 1, 2024
dd4a935
Remove palette-underwater from BADLANDS
DeathShadez Oct 1, 2024
36ef784
Add environment abstracts for all ocean regions
DeathShadez Oct 2, 2024
cc1951c
Add environment abstracts for river regions
DeathShadez Oct 2, 2024
dd672c2
Apply ENVIRONMENT_MARINE_RIVER_WARM to TROPICAL_RIVER
DeathShadez Oct 2, 2024
88af33d
Apply ENVIRONMENT_MARINE_RIVER_COLD to COLD_RIVER
DeathShadez Oct 2, 2024
d249243
Adjust ENVIRONMENT_MARINE_RIVER_WARM
DeathShadez Oct 2, 2024
7d7451e
Add LUKEWARM_RIVER
DeathShadez Oct 2, 2024
5124772
Add baobab trees to savannas
DeathShadez Oct 3, 2024
d47fa71
Merge remote-tracking branch 'origin/2.0' into 2.0
DeathShadez Oct 3, 2024
1ab11bf
Merge pull request #164 from DeathShadez/2.0
duplexsystem Oct 3, 2024
18cc408
Add palm trees to Rainforest
Sancires Oct 3, 2024
9294e6d
Remove Evergreen Forest
Sancires Oct 3, 2024
71d6dee
Adjust muddy coasts' mud_water
DeathShadez Oct 3, 2024
3603713
Merge remote-tracking branch 'origin/2.0' into 2.0
DeathShadez Oct 3, 2024
09e6390
Fix baobab tree errors
DeathShadez Oct 5, 2024
7f6e21b
add MUDDY_COASTS biomeTool color
DeathShadez Oct 5, 2024
8331170
Allow baobab tree trunk to replace blocks due to grass spawning inside
DeathShadez Oct 5, 2024
9e5c3c8
Lessen blue value of MUDDY_COASTS grass color
DeathShadez Oct 5, 2024
3515360
Adjust MUDDY_COASTS to account for global height
DeathShadez Oct 5, 2024
7c5bbd5
Reduced max height of baobab trees procedurals
DeathShadez Oct 5, 2024
9de429c
Merge pull request #166 from DeathShadez/2.0
DeathShadez Oct 5, 2024
f754890
Fix TRAVERTINE_TERRACES water color
DeathShadez Oct 5, 2024
6c62d96
Fix structures with blank variable initialization
DeathShadez Oct 5, 2024
c8a286b
Adjust mob room placement radius from 5 to 3
DeathShadez Oct 5, 2024
7ed0a57
Make ocean overhangs stay underwater & not intersect caves
astrsh Oct 6, 2024
ae73251
Cutoff ocean spikes on y-level instead of elevation
astrsh Oct 6, 2024
167cdcc
add ANCIENT_CAVES
DeathShadez Oct 8, 2024
6ec2e79
Adjust TRAVERTINE_TERRACES palette to not extend underground
DeathShadez Oct 8, 2024
968d44d
add unused increased coal ore distribution
DeathShadez Oct 8, 2024
f2a0885
add desert wells
DeathShadez Oct 9, 2024
3b8bbde
add physics to desert well water in case of caves
DeathShadez Oct 9, 2024
f038609
Fix environment climate abstracts
DeathShadez Oct 9, 2024
eea9c49
Merge tag 'latest' into 2.0
duplexsystem Oct 9, 2024
92e3955
Increase desert well rarity
DeathShadez Oct 9, 2024
2ef77bd
Improve desert well bottom
DeathShadez Oct 9, 2024
c9ab05f
Improve desert well spawning
DeathShadez Oct 9, 2024
6e80a0c
add red desert wells
DeathShadez Oct 9, 2024
e7cda82
Fixes for validate biome colors check
DeathShadez Oct 9, 2024
583673f
Fix RED_DESERT_WELLS id
DeathShadez Oct 9, 2024
d4ac808
Fix RED_DESERT_WELLS spawns
DeathShadez Oct 9, 2024
b32ff28
Customize precipitation by range instead of linear transform
astrsh Oct 6, 2024
467c160
Customize temperature by range instead of linear transform
astrsh Oct 6, 2024
87e6c4d
Use more neutral sky color for warm rivers
astrsh Oct 9, 2024
50261ea
Make travertine terraces smaller
astrsh Oct 10, 2024
5aa428b
Move ocean shelving function to its own file
astrsh Oct 10, 2024
477c311
Fix temperature range to go to -1
astrsh Oct 10, 2024
b10d175
Use pseudoerosion for elevation mountains
astrsh Oct 10, 2024
1cb4a01
Improve baobab tree procedural
DeathShadez Oct 22, 2024
de569e9
Add occasional pink petals on cacti
DeathShadez Oct 22, 2024
d0789e2
Add fossils
DeathShadez Oct 24, 2024
e801b54
Add "structures" population stage for mob rooms, fossils, etc
DeathShadez Oct 24, 2024
ed68ba9
Organize fossil skulls into folder
DeathShadez Oct 24, 2024
5896c11
Adjust fossils distributor
DeathShadez Oct 25, 2024
4a8937c
Add fossils to more desert biomes
DeathShadez Oct 25, 2024
dd0cb1b
Fix red desert to use red desert river
DeathShadez Nov 7, 2024
5680ad8
Adjust hydrothermal_vents locator placement
DeathShadez Dec 5, 2024
43d5c60
Rename file properly to ice_cave_snow
DeathShadez Jan 11, 2025
e85ed48
add SNOWY_BIRCH_FOREST and SNOWY_TAIGA
DeathShadez Jan 17, 2025
4fda884
add SNOWY_BLACKSTONE_MOUTANINS and SNOWY_TUFF_MOUNTAINS
DeathShadez Mar 10, 2025
98fd4df
Fix river SNOWY_BLACKSTONE_MOUTANINS and SNOWY_TUFF_MOUNTAINS colors
DeathShadez Mar 10, 2025
d350bd4
Fix colors.yml SNOWY_BLACKSTONE_MOUNTAINS_RIVER
DeathShadez Mar 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "images"]
path = .wiki/images
url = git@github.com:PolyhedralDev/TerraOverworldConfigImages.git
url = https://github.com/PolyhedralDev/TerraOverworldConfigImages.git
8 changes: 5 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,15 @@ generate in an area where it previously did not (resulting in a chunk border).

## [Unreleased]
### Added

- Added cold steppe.
- Added the spawn island, a flattened landmass at 0,0 that guarantees the world spawn is on land.

### Changed

- Reworked terrain to use a global heightmap.
- Reworked biome distribution to be based on the [Koppen Climate Classification](https://en.wikipedia.org/wiki/K%C3%B6ppen_climate_classification)

### Removed

- Removed elevation biome variants, as biomes now use a global height map for terrain.

### Fixed

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ specific to a different domain of configuration:
- `biomes`
Where all biome configs are defined.

- `biome-providers`
- `biome-distribution`
Contains configuration files related *where* biomes generate.

- `structures`
Expand Down Expand Up @@ -51,7 +51,7 @@ This pack comes with several biome distribution presets, which can be chosen
within the [`pack.yml`](./pack.yml) file. If none of these presets do exactly
what you want, you can further modify biome distribution presets with alternate
sources and stages. Check out the
[`biome-providers/presets/default.yml`](./biome-providers/presets/default.yml)
[`biome-distribution/presets/default.yml`](./biome-distribution/presets/default.yml)
config for these alternative sources and stages.

### Where can I learn more about configuration?
Expand Down
22 changes: 22 additions & 0 deletions biome-distribution/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Biome Distribution

This directory contains configuration files related to **biome distribution**.
For individual biome configuration, checkout the `biomes` directory instead.

This directory is organized into 3 subdirectories:

## Presets
A collection of preset biome provider configurations. A biome provider is simply
something that tells Terra how to distribute biomes. The provider in use is
determined under the `biomes` parameter in the pack manifest (`pack.yml`). (Only
one can be selected at a time.)

## Stages
Contains various mutation stages that are applied to pipeline biome providers.
These do things such as add different climate zones, add rivers, add volcanoes,
etc. Similarly to sources, the ordering of stages is determined by the provider
preset.

## Extrusions
Contains extrusion stages that relate to 3D biome distribution. This is primarily
for handling the placement of cave biomes.
43 changes: 43 additions & 0 deletions biome-distribution/extrusions/add_cave_biomes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
extrusions:
- type: REPLACE
from: LAND_CAVES
sampler:
type: CELLULAR
return: CellValue
salt: 1252
frequency: 1 / 200 / ${customization.yml:cave-biome-scale} / ${customization.yml:global-scale}
to:
- SELF: 6
- LUSH_CAVES: 1
- DRIPSTONE_CAVES: 1
range:
min: $meta.yml:deepslate-bottom
max: ${meta.yml:ocean-level} - 13

- type: REPLACE
from: ICE_CAVES
sampler:
type: CELLULAR
return: CellValue
salt: 1252
frequency: 1 / 200 / ${customization.yml:cave-biome-scale} / ${customization.yml:global-scale}
to:
- SELF: 3
- ICE_CAVES: 7
range:
min: $meta.yml:deepslate-bottom
max: ${meta.yml:ocean-level} - 13

- type: REPLACE
from: ANCIENT_CAVES
sampler:
type: CELLULAR
return: CellValue
salt: 6457
frequency: 1 / 200 / ${customization.yml:cave-biome-scale} / ${customization.yml:global-scale}
to:
- SELF: 3
- ANCIENT_CAVES: 1
range:
min: $meta.yml:bottom-y
max: $meta.yml:deepslate-top
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ extrusions:
sampler:
type: OPEN_SIMPLEX_2
salt: 9238
frequency: 0.2 / ${meta.yml:biome-distribution.variation-scale} / ${meta.yml:biome-distribution.global-scale}
frequency: 1 / 40 / ${customization.yml:variation-scale} / ${customization.yml:global-scale}
to:
- SELF: 4
- DEEP_DARK: 1
range:
min: -64
max: 0
min: $meta.yml:bottom-y
max: $meta.yml:deepslate-top
58 changes: 58 additions & 0 deletions biome-distribution/presets/default.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
biomes:
type: EXTRUSION
extrusions:
- << biome-distribution/extrusions/add_cave_biomes.yml:extrusions
- << biome-distribution/extrusions/add_deep_dark.yml:extrusions
provider:
type: PIPELINE
resolution: 4
blend:
amplitude: 2
sampler:
type: OPEN_SIMPLEX_2
frequency: 0.1
pipeline:
source:
type: SAMPLER
sampler:
type: EXPRESSION
expression: continents(x, z)
biomes:
ocean: 1
land: 1
stages:
- << biome-distribution/stages/add_spots.yml:stages
- << biome-distribution/stages/add_coast.yml:stages
- << biome-distribution/stages/climate/temperature.yml:stages
- << biome-distribution/stages/climate/precipitation.yml:stages
- << biome-distribution/stages/climate/elevation.yml:stages
- << biome-distribution/stages/climate/color.yml:stages
- << biome-distribution/stages/add_travertine_terraces.yml:stages
- << biome-distribution/stages/set_biomes_in_climates.yml:stages

- type: REPLACE
from: todo
to: PLAINS
sampler:
type: CONSTANT

- type: FRACTAL_EXPAND
sampler:
type: WHITE_NOISE
- type: FRACTAL_EXPAND
sampler:
type: WHITE_NOISE
- type: FRACTAL_EXPAND
sampler:
type: WHITE_NOISE
- type: FRACTAL_EXPAND
sampler:
type: WHITE_NOISE
- type: SMOOTH
sampler:
type: WHITE_NOISE
- type: SMOOTH
sampler:
type: WHITE_NOISE

- << biome-distribution/stages/add_rivers.yml:stages
21 changes: 21 additions & 0 deletions biome-distribution/presets/single.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
biomes:
type: EXTRUSION
extrusions:
- << biome-distribution/extrusions/add_cave_biomes.yml:extrusions
- << biome-distribution/extrusions/add_deep_dark.yml:extrusions
provider:
type: PIPELINE
resolution: 4
blend:
amplitude: 2
sampler:
type: OPEN_SIMPLEX_2
frequency: 0.1
pipeline:
source:
type: SAMPLER
biomes: $pack.yml:preset-single-biome
sampler:
type: CONSTANT
stages:
- << biome-distribution/stages/add_rivers.yml:stages
3 changes: 3 additions & 0 deletions biome-distribution/presets/single_debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
biomes:
type: SINGLE
biome: $pack.yml:preset-single-debug-biome
24 changes: 24 additions & 0 deletions biome-distribution/stages/add_coast.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
stages:
- type: REPLACE
from: ocean
sampler:
type: EXPRESSION
expression: continentBorder(x, z)
to:
SELF: 1
coast: 1
- type: BORDER
sampler:
type: CONSTANT
from: land
replace: ocean
to: coast
- type: REPLACE
from: coast
to:
land: 1
SELF: 1
sampler:
type: OPEN_SIMPLEX_2
frequency: 1 / 300 / ${customization.yml:global-scale}
salt: 1023
Original file line number Diff line number Diff line change
@@ -1,8 +1,27 @@
# The sampler that controls how rivers generate, you can find various presets
# in the biome-providers/stages/river-samplers/ folder.
riverSampler: &riverSampler $biome-providers/stages/river-samplers/default.yml:sampler
# To pick the preset, simply change the file reference above ^
# You can further edit and customize the parameters of a river sampler preset within its own file.
riverSampler: &riverSampler
type: EXPRESSION
expression: segment(riverBiomeMap(x, z), riverValue, borderValue, (elevation(x, z) < lowlandsThreshold) && (borderMask(x, z) < borderMaskThreshold))
variables:
riverValue: $math/samplers/rivers.yml:variables.riverValue
borderValue: $math/samplers/rivers.yml:variables.borderValue
borderMaskThreshold: 0.2
lowlandsThreshold: $customization.yml:elevation-lowlands-threshold
functions:
segment:
arguments:
- river
- riverValue
- borderValue
- borderPredicate
expression: if(river <= riverValue, 1, if((river <= borderValue) && borderPredicate, -0.4, -1))
samplers:
borderMask:
dimensions: 2
type: PROBABILITY
sampler:
type: OPEN_SIMPLEX_2
salt: 4812
frequency: 0.003

# Tags are used by biomes to determine the kind of river to use, except for biomes with
# their own specific river biome. These tags are formatted by the type of river, and optionally
Expand All @@ -27,9 +46,9 @@ stages:
XERIC_MOUNTAINS:
- SELF: 1
- XERIC_MOUNTAINS_RIVER: 1
BADLANDS_MOUNTAINS:
BADLANDS:
- SELF: 1
- BADLANDS_MOUNTAINS_RIVER: 1
- BADLANDS_RIVER: 1
DRY_TEMPERATE_MOUNTAINS:
- SELF: 1
- DRY_TEMPERATE_MOUNTAINS_RIVER: 1
Expand All @@ -39,12 +58,26 @@ stages:
SNOWY_MOUNTAINS:
- SELF: 1
- SNOWY_MOUNTAINS_RIVER: 1
SNOWY_TERRACED_MOUNTAINS:
SNOWY_TUFF_MOUNTAINS:
- SELF: 1
- SNOWY_TERRACED_MOUNTAINS_RIVER: 1
SNOWY_ERODED_TERRACED_MOUNTAINS:
- SNOWY_TUFF_MOUNTAINS_RIVER: 1
SNOWY_BLACKSTONE_MOUNTAINS:
- SELF: 1
- SNOWY_ERODED_TERRACED_MOUNTAINS_RIVER: 1
- SNOWY_BLACKSTONE_MOUNTAINS_RIVER: 1
sampler: *riverSampler
# Desert rivers
- type: REPLACE
from: USE_DESERT_RIVER
to:
- SELF: 1
- DESERT_RIVER: 1
sampler: *riverSampler
# Red desert rivers
- type: REPLACE
from: USE_RED_DESERT_RIVER
to:
- SELF: 1
- RED_DESERT_RIVER: 1
sampler: *riverSampler
# Regular rivers with temperate marshes
- type: REPLACE
Expand All @@ -62,13 +95,34 @@ stages:
- SWAMP: 1
- RIVER: 2
sampler: *riverSampler
# Regular coastal rivers with mangrove swamps
# Warm rivers
- type: REPLACE
from: USE_LUKEWARM_RIVER
to:
- SELF: 1
- LUKEWARM_RIVER: 1
sampler: *riverSampler
# Tropical rivers
- type: REPLACE
from: USE_TROPICAL_RIVER
to:
- SELF: 1
- TROPICAL_RIVER: 1
sampler: *riverSampler
# Tropical coastal rivers with mangrove swamps
- type: REPLACE
from: USE_RIVER_COASTAL_TROPICAL_SWAMP
to:
- SELF: 1
- MANGROVE_SWAMP: 1
- RIVER: 2
- TROPICAL_RIVER: 2
sampler: *riverSampler
# Cold rivers
- type: REPLACE
from: USE_COLD_RIVER
to:
- SELF: 1
- COLD_RIVER: 1
sampler: *riverSampler
# Frozen Rivers
- type: REPLACE
Expand Down
46 changes: 46 additions & 0 deletions biome-distribution/stages/add_spots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
stages:
- type: REPLACE
from: ALL
to:
- SELF: 1
- spot: 1
sampler:
type: EXPRESSION
expression: if(spotDistance(x, z) < spotRadius(x, z) + biomeBorder, 1, -1)
variables: $math/samplers/spots.yml:variables

- type: REPLACE
from: spot
to:
- volcano: 1
- mesa: 1
sampler:
type: EXPRESSION
expression: spotSizePercent(x, z)*2-1

- type: REPLACE
from: volcano
to:
- extinct-volcano: 5
- active-volcano: 1
sampler:
type: EXPRESSION
expression: volcanoActivity(x, z)

- type: REPLACE
from: extinct-volcano
to:
- extinct-volcano: 4
# - crater-lake: 1 # Crater lakes are disabled until a good method of adding fluid is implemented
sampler:
type: EXPRESSION
expression: spotEdgeRadiusPercent(x, z)*2-1

- type: REPLACE
from: active-volcano
to:
- ERUPTED_VOLCANO: 4
- PRISMATIC_SPRING: 1
sampler:
type: EXPRESSION
expression: spotEdgeRadiusPercent(x, z)*2-1
Loading