Options

A season file in plugins/MythicSeasons/seasons/ takes the keys below. Only id is required, and example.yml lists every key with a comment.

  • Unknown top-level keys are ignored without a message, so a misspelled key silently keeps its default. The atmosphere block and the populator rules do warn.
  • /ms reload reads the files again, except foliage-transitions, which needs a restart. Chunks players already have keep their look until they are sent again.
  • The five shipped files come back whenever one is missing, so set enabled: false to turn a shipped season off.
  • A weather.daily-extra-downfall-chance or a foliage-transitions weight that is not a number makes the whole file fail with Failed to load season file: <file>.

Identity

Option Default What it does
enabled true false skips the file without a message.
id none Required. The season's name, turned into lowercase. A file without it is skipped with a warning, and of two files with the same id only one is kept.
display-name the id with a capital first letter Name shown in /ms getinfo, the /ms set reply and the display placeholders. MiniMessage tags such as <green> work.
transition-message "" Chat text for a world's players when it enters this season: one string, or a list with one line per entry. MiniMessage tags work.
  • Keep an id to lowercase letters, digits, - and _. A space breaks /ms set, a comma splits the list of the season condition, and disabled is reserved for worlds without a season.
  • <mythicseasons.season.display>, <mythicseasons.nextseason>, %ms_season_display% and %ms_next_season_display% keep the tags of display-name, so whatever shows them must read MiniMessage.
  • An empty transition-message sends the language file's SEASON-TO-<ID> line, which exists only for spring, summer, fall and winter. send-message-on-season-cycle: false in config.yml turns every transition message off.

Populators

populators holds the season's block rules for snow, ice, flowers and leaf litter, see Populators.

Weather

These keys only change the world's vanilla weather, and only while modify-weather-cycle is true in config.yml.

Option Default What it does
weather.daily-extra-downfall-chance 0.0 Extra rain chance per in-game day, in percent: 33.3% or 33.3.
weather.has-natural-downfall true false cancels every start of rain or snow while the season is active.
prevent-thunder false Sets the world's thunder time to 0 whenever rain starts or stops.

The extra chance only starts rain after the dry spell that follows every rain (see weather durations) and with has-natural-downfall: true. It never runs where the atmosphere is on.

Biome colours

Option Default What it does
biome-color-index -1 Which colour set of the biome files players see: 0 winter, 1 summer, 2 spring, 3 fall. -1 and any other number keep the vanilla colours.
biome-color-key the id Only names the season's group in /ms biomelist. A value other than spring, summer, fall or winter leaves it out of that list.
  • The index also decides where the season's populators, snow coverage and block replacements are stored. Two seasons with the same number, -1 included, share them: the season loaded last wins, and a warning names both.
  • The shipped seasons take 0 to 3, so a new season normally uses -1. To give it its own rules, turn a shipped season off (enabled: false and out of season-cycle) and take its number, which also gives it that season's colours.
  • A missing biome-color-index, or one outside -1 to 3, logs a warning, so write -1 to keep the vanilla colours on purpose.

World rules

Option Default What it does
prevent-moisture-change false Stops farmland that is the highest block of its column from changing its moisture (needs modify-blocks in config.yml). The temperature system also counts the season as cold, see General.
prevent-cauldron-fill false Stops rain and snow from filling a cauldron with water when it is the highest block of its column, except in biomes whose biome file has freeze-in-winter: false.
pause-map-render false Pauses Dynmap or BlueMap rendering during the season. Needs pause-map-plugins-render-in-winter: true in config.yml.

Skill triggers

Each key lists MythicMobs skills that run in the worlds in this season, see Triggers.

Key Runs Caster
player-tick Every performance.skill-trigger-interval ticks (5) for each player in the world The player
player-tick-particles The same, except for players who turned particles off with /toggleseasonparticles The player
world-tick Every interval, once per world A player of the world
season-start Once, one tick after the world enters the season A player of the world
season-end Once, when the world leaves the season A player of the world
atmosphere-rain-start, atmosphere-rain-stop When rain starts or stops for a player The player
atmosphere-snow-start, atmosphere-snow-stop When snow starts or stops for a player The player
atmosphere-storm-start, atmosphere-storm-stop When thunder starts or stops for a player The player
atmosphere-cloud-enter, atmosphere-cloud-exit When a player enters or leaves a cloud The player
  • world-tick, season-start and season-end do nothing in a world without players.
  • Every shipped season runs MS_Atmosphere in player-tick. Without it players get none of the simulated rain, snow, wind or storms.
  • Put cosmetic skills in player-tick-particles. In a skill that mixes both, check <mythicseasons.particles> on the particle lines.

Atmosphere

The atmosphere: block changes the weather simulation during this season. It takes every atmosphere.yml setting that can change with the season:

  • temperature
  • humidity
  • biome-defaults
  • forcing, except the size, speed and direction of air masses
  • physics, except solver-threads
  • weather
  • clouds.layers, clouds.tint, clouds.storm-fade-seconds, clouds.outflow and clouds.sample-size
  • cloud-layers.<layer>.<setting> for one cloud layer

Values can be numbers, quoted operators such as "*1.4", keyframes or formulas, see value forms. A keyframe named after a phase sits in the middle of that phase, by this file's sub-season-thresholds.

Option Default What it does
profile none Applies atmosphere-profiles/<name>.yml under the other keys of the block.
transition.blend-days transition.blend-days of atmosphere.yml (3) In-game days at the end of this season over which the weather fades into the next season in season-cycle. 0 switches at the season change.
transition.blend-percent not set The same window as a percentage of the season, 0 to 100. Wins over blend-days.
worlds.<world> none Settings for one world (name not case-sensitive), applied over the rest of the block. profile, transition and worlds are ignored there without a message.

Options shows the order in which atmosphere.yml, season-adjustments, profiles and these blocks apply.

Sub-season thresholds

Where each phase ends, in percent of the season. See Sub-Seasons.

Option Default What it does
sub-season-thresholds.start-end 9.0 End of START.
sub-season-thresholds.early-end 18.0 End of EARLY.
sub-season-thresholds.middle-end 84.0 End of MIDDLE.
sub-season-thresholds.late-end 92.0 End of LATE. END runs from here to 100.

Each value must be from 0 to 100 and not below the one before it, or the season uses all four defaults (with a warning). Two equal values remove the phase between them.

Foliage transitions

Option Default What it does
foliage-transitions.from-previous NONE Colour mixed into the leaves in START and EARLY, as '#RRGGBB,WEIGHT:0.3' with a weight from 0 to 1.
foliage-transitions.to-next NONE The same for LATE and END. The shipped spring uses '#32CD32,WEIGHT:0.3'.
  • Quote the value: an unquoted # starts a YAML comment and leaves the key empty. # and WEIGHT: may be left out ('32CD32,0.3'), and a value without exactly one comma is ignored.
  • Only the files of the seasons spring, summer, fall and winter count, see Sub-Seasons.

Examples

id: monsoon
display-name: "<#2E8B57>Monsoon"
transition-message:
  - "<green>The monsoon rains have arrived."
  - "<gray>Expect rain every day."
weather:
  daily-extra-downfall-chance: 50%
biome-color-key: summer
biome-color-index: -1
skill-triggers:
  player-tick:
    - MS_Atmosphere
atmosphere:
  humidity: "*1.4"
  transition:
    blend-days: 5

"*1.4" gives the simulated air 40 percent more moisture.

atmosphere:
  temperature:
    START: -4
    MIDDLE: -14
    END: -6
  cloud-layers:
    cumulus:
      full-at: 0.3
  worlds:
    resource_world:
      physics:
        auto-threshold: 0.4

The season is coldest in its middle, the cumulus layer draws more cloud, and in resource_world cloud turns into rain sooner.

Updated Nov 11, 2026