Biomes
Biome files in plugins/MythicSeasons/biomes/ set how each biome looks in every season: sky, water, fog, grass and leaf colours, environment attributes and a few climate values.
- Biome files are read at startup, so a change needs a restart.
/ms reloadonly reads theiratmospheresection again, while the weather simulation runs. - The 20 shipped files and
CUSTOM_EXAMPLE.ymlcome back at the next start when they are missing.
How the colours reach players
The plugin never changes a world's biomes. It swaps per-season copies of them into the chunks sent to players, to match the world's season and phase.
- A season picks its colour set with
biome-color-index, see Season Options. - Copies are named
<biome-display-name>:<season>_<file name in lowercase>, likemythicseasons:spring_forest, with a number for colour variants (fall_forest0) and_blend0to_blend3for phase blends. A custom file uses its first biome instead of the file name:mythicseasons:mypack_fall_rainforestformypack:rainforest. modify-biome-on-client: falseinconfig.ymlsends vanilla chunks to everyone, and/toggleseasoncolorsto one player. Land claims can switch the effect off in an area or pin another season there. Block replacements and populator blocks follow the same switches.- A season or phase change sends the chunks around players again, slowly, see Chunk refresh.
Shipped files
| File | Biomes | freeze-in-winter |
temperature-difference |
Snow instead of rain | Recoloured seasons |
|---|---|---|---|---|---|
BADLANDS.yml |
badlands, wooded_badlands, eroded_badlands |
false |
15 |
none | all four |
JUNGLE.yml |
jungle, bamboo_jungle, sparse_jungle |
false |
12 |
none | spring, summer, winter |
BEACH.yml |
beach, stony_shore |
true |
0 |
winter | all four |
BIRCH_FOREST.yml |
birch_forest, old_growth_birch_forest |
true |
0 |
winter | all four |
OCEAN.yml |
ocean, cold_ocean, deep_cold_ocean, deep_lukewarm_ocean, deep_ocean, lukewarm_ocean, warm_ocean |
false |
0 |
winter | all four |
DARK_FOREST.yml |
dark_forest |
true |
0 |
winter | all four |
DESERT.yml |
desert |
false |
15 |
none | all four |
FLOWER_FOREST.yml |
flower_forest, meadow, cherry_grove |
true |
0 |
winter | all four |
FOREST.yml |
forest |
true |
0 |
winter | all four |
TAIGA.yml |
taiga, old_growth_spruce_taiga, old_growth_pine_taiga |
true |
-4 |
fall, winter | summer, fall, winter |
MOUNTAINS.yml |
windswept_hills, windswept_gravelly_hills, windswept_forest, stony_peaks |
true |
-4 |
winter | all four |
MUSHROOM_FIELDS.yml |
mushroom_fields |
false |
0 |
none | none |
PLAINS.yml |
plains, sunflower_plains |
true |
0 |
winter | all four |
SAVANNA.yml |
savanna, savanna_plateau, windswept_savanna |
true |
10 |
winter | all four |
RIVER.yml |
river |
true |
0 |
winter | all four |
FROZEN_BIOMES.yml |
snowy_beach, snowy_taiga, snowy_plains, frozen_river, ice_spikes, frozen_ocean, deep_frozen_ocean |
false |
-12 |
all four | summer |
SWAMP.yml |
swamp, mangrove_swamp |
true |
0 |
winter | summer, winter |
FROZEN_MOUNTAINS.yml |
jagged_peaks, frozen_peaks, snowy_slopes, grove |
false |
-12 |
all four | summer |
CAVES.yml |
dripstone_caves, lush_caves, deep_dark |
false |
5 |
none | none |
PALE_GARDEN.yml |
pale_garden |
false |
-7 |
none | none |
- A season counts as recoloured when one of its six colours is not
NONE. Files that recolour nothing still applyfreeze-in-winterandtemperature-difference. - A biome no file lists keeps its vanilla colours.
Climate and temperature
| Option | Default | What it does |
|---|---|---|
freeze-in-winter |
false |
true stops natural ice and snow from forming in every season, in worlds with a season and while modify-blocks is on, except where keep-natural-snow lets them form. A biome no file lists counts as true. |
temperature-difference |
built-in per file | Whole degrees C added to the air temperature in these biomes. A missing key is written into the file with the built-in value. |
show-snow-instead-of-rain.<season> |
false |
true makes that season's copy (spring, summer, fall or winter) a cold biome, so players see snow instead of rain. Only works in a season that recolours the biome. |
atmosphere.temp-offset |
0.0 |
Degrees C added to the simulated air in these biomes. |
atmosphere.vapor-multiplier |
1.0 |
Scales the moisture of the simulated air: above 1 is wetter and cloudier, below 1 drier. |
atmosphere.seasons.<season> |
none | temp-offset and vapor-multiplier for one season, by your own season ids. A value left out keeps the one above. |
- The built-in
temperature-differenceis the value in the shipped files table, except forPALE_GARDEN.yml, which sets-7over a built-in 0. Custom files get 0. - In an
includes: ALLfile each biome gets a value from its vanilla temperature instead: up to 0.1 gives -12, up to 0.3 gives -4, up to 1.0 gives 0, up to 1.4 gives 10, and above that 15. - The seasonal snow and ice players see come from populators, not from
freeze-in-winter. water-temperatureis not read any more. For colder water in some biomes, add a line with the MythicMobsbiomecondition to the pack'sMS_Wetnessskill, see Temperature.- The
atmospheresection only works while the simulation runs, and never for custom biomes listed asnamespace:nameor reached throughincludes: ALL, since it matches names without the namespace. See Per-biome offsets.
Colours
Each season has a section under colors (spring, summer, fall, winter). A season whose six colours are all NONE is not recoloured, and its attributes are ignored.
| Option | Default | What it does |
|---|---|---|
skycolor |
NONE |
Colour of the sky. |
fogcolor |
NONE |
Colour of fog in the air. |
watercolor |
NONE |
Colour of water surfaces. |
waterfogcolor |
NONE |
Colour of the fog under water. |
grasscolor |
NONE |
Colour of grass. Takes a colour list. |
treecolor |
NONE |
Colour of leaves and other foliage. Takes a colour list. |
weights |
equal | Next to a colour list: one whole number per colour, higher for a more common colour. |
patchsize |
15 |
Next to a colour list: biome cells (4 blocks on each side) per colour patch, higher for bigger patches. Above 23 counts as 23. |
attributes |
none | Environment attributes of the season's copy, see Environment attributes. |
- Write colours as six hex digits (
RRGGBB). Quote a colour with a leading#, or the#starts a YAML comment and the value counts asNONE. Quote all-digit colours too, or YAML reads a number. A shortFFFis not expanded. NONEmust be in capitals. A lowercasenonefails, and that season of the file is skipped withCould not load <season> in file: <file>.NONEkeeps the biome's own sky, fog and water colours.
With grasscolor: NONE, a recoloured season still gives the copy the fixed grass colour from this table, not vanilla's climate-based one. In every recoloured season swamps and dark forests lose their special grass shading. The leaf column is only used as the vanilla side of a phase blend.
| File | Grass colour | Leaf colour |
|---|---|---|
BADLANDS.yml |
9E814D |
9E814D |
JUNGLE.yml |
59C93C |
30BB0B |
BEACH.yml, PLAINS.yml |
91BD59 |
77AB2F |
BIRCH_FOREST.yml |
88BB67 |
6BA941 |
OCEAN.yml, RIVER.yml |
8EB971 |
71A74D |
DARK_FOREST.yml |
507A32 |
59AE30 |
DESERT.yml, SAVANNA.yml |
BFB755 |
AEA42A |
FLOWER_FOREST.yml, FOREST.yml |
79C05A |
59AE30 |
TAIGA.yml |
86B783 |
68A464 |
MOUNTAINS.yml |
8AB689 |
6DA36B |
MUSHROOM_FIELDS.yml |
55C93F |
2BBB0F |
FROZEN_BIOMES.yml, FROZEN_MOUNTAINS.yml |
80B497 |
60A17B |
SWAMP.yml |
6A7039 |
6A7039 |
CAVES.yml,PALE_GARDEN.ymland custom files keep the original biome's grass colour when it has its own. Where it has none, blends use91BD59for grass and leaves.- With
treecolor: NONEthe copy keeps the original biome's leaf colour, if it has one. Otherwise the game works the leaves out from the copy's climate, so a hot or cold biome can show other leaf colours than in vanilla.
Colour lists
grasscolor and treecolor take a comma-separated list of two or more colours, scattered over the world in patches.
colors:
fall:
grasscolor: BFB755
treecolor: 'E8962A, E8962A, AEA42A, 6BA941, 60A17B'
weights: '30, 25, 20, 15, 10'
Fall leaves in five colours, orange most often, and one grass colour everywhere.
- All lists of one season need the same number of colours. A single colour repeats for every entry.
- The patches are rolled again at every start, so a tree can change colour after a restart. Blended phases use the first colour of a list.
- Patches are built for the longest list on the server, at least five colours.
weightsonly work on a list of exactly that length, so use the same length everywhere. weightsandpatchsizeapply to every biome on the server, and the last file loaded wins: the shipped group files in the order of the table above, then custom files with anincludeslist, thenincludes: ALLfiles.
Environment attributes
attributes under colors.<season> sets environment attributes of that season's copy, such as cloud height, fog distance or star brightness. They need Minecraft 1.21.11 or newer. Older servers log Environment attributes need Minecraft 1.21.11 or newer; this server version cannot apply: <keys>.
colors:
winter:
skycolor: D2DEFF
attributes:
fog_end_distance: 512.0
star_brightness: 0.8
sky_light_color: C8D0E8
Winter fog closes in at 512 blocks.
- Write a key as its name (
cloud_color), its path (visual/cloud_color) or its full id (minecraft:visual/cloud_color). Every attribute of the running Minecraft version works, see the Minecraft Wiki. - Colours are six hex digits, or eight (
AARRGGBB) for attributes with alpha. Other values are written as in a data pack. cloud_opacity(0 to 1) is not a Minecraft attribute: it becomes the alpha of a six-digitcloud_color.- While the volumetric clouds are on (
enabledandclouds.enabledinatmosphere.yml, as shipped, on a supported server),cloud_colorandcloud_opacityshow nothing. - In the blended phases, colour and number attributes mix with the neighbouring season's values: 55 percent of the neighbour in
STARTandEND, 75 percent inEARLYandLATE. Switches take the neighbour's value, and an attribute only one of the two seasons sets keeps that value.
Season transitions
With sub-seasons on, the colours blend with the neighbouring seasons outside MIDDLE, and a change to season-cycle or foliage-transitions needs a restart. See Sub-Seasons.
Custom biome files
Biomes from a world generator or a biome plugin need a custom file: any other .yml file in biomes/, with CUSTOM_EXAMPLE.yml as the template. It takes every key above plus includes, one line of text (not a YAML list):
- ids written as
namespace:name, separated by commas (/ms biomelistlists them); ALL: every biome whose namespace is neitherminecraftnor yourbiome-display-name;NONE: the file is off.
includes: mypack:rainforest
temperature-difference: 8
colors:
fall:
treecolor: 'E8962A, E8962A, AEA42A, 6BA941, 60A17B'
winter:
skycolor: D2DEFF
watercolor: 216FC4
waterfogcolor: 216FC4
grasscolor: B8D0E1
treecolor: B8D0E1
fogcolor: A6D1FF
mypack:rainforeststands for whatever your generator registers. Spring and summer keep the vanilla colours.
- All biomes of a list share the copies of the first one, so the first id must exist on the server. If it does not, every season of the file that sets colours fails with
Could not load <season> in file: <file>. - A biome named in an explicit list is left alone by
includes: ALLfiles, soALLcan set the default and other files the exceptions. CUSTOM_EXAMPLE.ymlships withincludes: ALLand fall and winter colours, which therefore apply to every custom biome on the server. Setincludes: NONEin it to turn it off.
Commands
| Command | Permission | Default | What it does |
|---|---|---|---|
/toggleseasoncolors |
mythicseasons.toggleseasons |
everyone | Turns the season look of the terrain (colours, block replacements, populator blocks) off or on for yourself, in chunks sent afterwards. Saved across restarts. |
/ms biomelist |
mythicseasons.admin |
operators | Writes every registered season biome and its copies per colour set and phase to the console. NONE means no copy. |
Console messages
After loading, the console prints Biome files: <n> loaded, <n> skipped.
| Message | Meaning |
|---|---|
<file>.yml: no biome of that name exists on this server version, skipping this file |
The server version lacks these biomes, such as PALE_GARDEN.yml before 1.21.4. |
<file>: no 'includes' list, skipping this file |
A custom file has no includes. |
<file>: unknown biome '<id>' in includes, skipping it |
An id in includes does not exist. When it is the first id, the seasons of the file fail too. |
<file>: no usable biome in includes, nothing was applied from this file |
No id in includes exists. |
<file>: skipping biome <id>, it is already configured by <file> |
An includes: ALL file meets a biome another file names. |
Could not load <season> in <file>. All multi-color properties must have the same count |
The lists of one season differ in length. That season of the file is skipped. |
Could not load <season> in <file>. Multi-color properties must have at least 2 colors |
A list ends up with one colour, for example after a trailing comma. |
Could not load <season> in file: <file> with an error |
A value of that season cannot be read: a bad colour, a lowercase none, a weight that is not a whole number, or a first includes id that does not exist. That season of the file is skipped. |