Season Skills

Skills that run only in a season, a phase of a season, on a date or at a time of day, with the Season, SubSeason, SeasonProgress, IsDate, Month, Weekday and TimeRange conditions. To react when a season starts or ends, see Event Skills.

Before you copy an example

  • Skills under skill-triggers run only in worlds that have a season. /ms set winter gives your world one and answers Season set to Winter. The season conditions never match in the Nether or the End.
  • isdate, month, weekday and seasonprogress need the calendar (enabled: true in calendar.yml, the default).
  • Run /mm reload after editing a skill file and /ms reload after editing a season file, see Common Examples.

Almanac

Tells a player the time, the date, the season, its phase and progress, and when the next season comes.

Season_Almanac:
  Skills:
  - message{m="<gold>It is <white><mythicseasons.time></white> on <white><mythicseasons.weekday></white>, <white><mythicseasons.month.name> <mythicseasons.day></white>, year <white><mythicseasons.year></white>."} @Self
  - message{m="<gold>Season <white><mythicseasons.season></white>, phase <white><mythicseasons.subseason></white>, <white><mythicseasons.progress></white> percent through."} @Self
  - message{m="<gold>Next season is <white><mythicseasons.nextseason.id></white>, in <white><mythicseasons.daysuntilnextseason></white> days."} @Self
Almanac_Keeper:
  Type: VILLAGER
  Display: '<gold>Almanac Keeper'
  Skills:
  - sudoskill{s=Season_Almanac} @Trigger ~onInteract

sudoskill makes the player who right-clicks the Almanac Keeper the caster, so the placeholders read that player's world.

A winter-only mob

Gives a mob an effect that only exists while its world is in winter.

Frost_Zombie:
  Type: ZOMBIE
  Display: '<aqua>Frost Zombie'
  Health: 30
  Skills:
  - potion{type=SLOWNESS;duration=60;lvl=0} @Trigger ~onAttack ?season{s=winter}
  - effect:particles{p=SNOWFLAKE;amount=10;hSpread=0.5;ySpread=1;speed=0.02} @Self ~onTimer:20 ?season{s=winter}

The inline ?season{s=winter} tests the zombie, so in every other season it is an ordinary zombie.

To spawn a mob only in winter, put season{s=winter} in the Conditions: of a MythicMobs spawner. Conditions that test an entity, such as playertemp or atmosphere, never pass in a spawner, which then never spawns. Check those in the mob's skills, as above.

Spring blossoms

Shows cherry blossom petals around the player during the first three phases of spring.

Spring_Blossoms:
  Cooldown: 1
  Conditions:
  - season{s=spring}
  - subseason{p=START,EARLY,MIDDLE}
  - outside
  Skills:
  - effect:particles{p=CHERRY_LEAVES;amount=6;hSpread=8;ySpread=3;speed=0.02;yOffset=3;audience=self} @Self
skill-triggers:
  player-tick-particles:
    - Spring_Blossoms

List it in seasons/spring.yml. The player-tick-particles list skips players who turned particles off with /toggleseasonparticles.

subseason is false while sub-seasons.enabled is false in config.yml. The phase limits come from sub-season-thresholds in the season file, see Sub-Seasons.

Season progress

Reacts to how far through the season the calendar is, in percent.

Winter_Ending_Soon:
  Cooldown: 600
  Conditions:
  - season{s=winter}
  - comparevalues{value1=<mythicseasons.daysuntilnextseason>;operator=LTE;value2=3}
  Skills:
  - message{m="<aqua>Winter ends in <mythicseasons.daysuntilnextseason> days."} @Self

Deep_Winter:
  Cooldown: 2
  Conditions:
  - season{s=winter}
  - seasonprogress{min=40;max=60}
  Skills:
  - modifytemp{id=deepwinter;amount=-6;duration=3} @Self
skill-triggers:
  player-tick:
    - Winter_Ending_Soon
    - Deep_Winter

List both in seasons/winter.yml. daysuntilnextseason answers 0 in a world without a season, so keep the season line in front of it.

seasonprogress takes named min and max values only. A bare argument such as seasonprogress >40 is ignored.

Valentine's Day

Shows hearts above every player on one date of the calendar.

Valentines_Hearts:
  Cooldown: 2
  Conditions:
  - isdate{d=14-2}
  Skills:
  - effect:particles{p=HEART;amount=3;hSpread=0.6;ySpread=0.6;yOffset=2.3;audience=self} @Self
skill-triggers:
  player-tick-particles:
    - Valentines_Hearts

List it in every season whose dates contain the day: seasons/winter.yml in the shipped calendar.

A weekend fair

Reminds the whole world of a fair on summer weekends during the day.

Summer_Fair:
  Cooldown: 600
  Conditions:
  - month{m=June,July,August}
  - weekday{d=Saturday,Sunday}
  - timerange{from=10;to=18}
  Skills:
  - message{m="<yellow>The summer fair is open until sunset."} @PlayersInWorld{targetself=true}
  - effect:sound{s=entity.firework_rocket.shoot;v=0.6;p=1.2;audience=target} @PlayersInWorld{targetself=true}
skill-triggers:
  world-tick:
    - Summer_Fair

List it in seasons/summer.yml, and in seasons/spring.yml too for the weekends of June 1 to 3, which are still spring in the shipped calendar.

month takes names or numbers (m=6,7,8 is the same list), and weekday the day names of week-days in calendar.yml. A world-tick skill is cast once per world by its first player, and its cooldown counts for that player.

A midwinter night

Combines a season, a phase and a time of day.

Midwinter_Night:
  Cooldown: 120
  Conditions:
  - season{s=winter}
  - subseason{p=MIDDLE}
  - timerange{from=20;to=4}
  Skills:
  - effect:sound{s=entity.breeze.idle_air;v=0.5;p=0.7;audience=self} @Self
  - message{m="<aqua>The midwinter night is bitterly still."} @Self

List it under player-tick in seasons/winter.yml. MIDDLE is 18 to 84 percent of the season with the default thresholds.

timerange takes whole hours of the in-game clock, counts both end hours, and wraps past midnight when from is larger than to.

Good to know

Updated Nov 11, 2026