Temperature Skills

Skills that read or change player temperature, with the Temperature, PlayerTemperature, IsHydrated, CanHeal and SeasonFrozen conditions and the ModifyTemp, SetFreezing, SetHealing and SetRSBurn mechanics.

Before you copy an example

  • Temperature must be on (enabled: true in temperature.yml) in a world with a season.
  • The shipped seasons already run the bundled temperature skills, and several examples build on them. See Packs.
  • Run /mm reload after editing a skill file and /ms reload after editing a season file or temperature.yml, see Common Examples.

atmospheretemp reads the simulated air where the weather simulation runs and the air of the temperature system elsewhere. temperature always asks the temperature system.

You want Condition Placeholder
Air temperature temperature <mythicseasons.temperature>
Air through the weather sources atmospheretemp <mythicseasons.airtemperature>
Body temperature playertemp <mythicseasons.playertemperature>

Thermometer

Shows a player the three temperatures.

Thermometer:
  Skills:
  - message{m="<aqua>Air here is <white><mythicseasons.temperature></white> C, or <white><mythicseasons.airtemperature></white> C by the weather sources."} @Self
  - message{m="<aqua>Your body is at <white><mythicseasons.playertemperature></white> C."} @Self

Where the weather simulation does not run, the two air numbers are the same.

Frost warning

Warns players at night in spring or fall when the air freezes.

Frost_Warning:
  Cooldown: 300
  Conditions:
  - season{s=spring,fall}
  - temperature{max=0}
  - timerange{from=0;to=6}
  Skills:
  - message{m="<aqua>Frost warning. The air has dropped to freezing, cover your crops."} @Self

List it under player-tick in seasons/spring.yml and seasons/fall.yml.

Warm inn

Warms cold players near a villager.

Inn_Warmth:
  TargetConditions:
  - playertemp{max=10}
  Skills:
  - modifytemp{id=inn;amount=15;duration=3}
Inn_Keeper:
  Type: VILLAGER
  Display: '<gold>Inn Keeper'
  Skills:
  - skill{s=Inn_Warmth} @PlayersInRadius{r=8} ~onTimer:20

The test reads the body temperature, warmth included, so a warmed player above 10 is skipped until the temperature falls back.

A cold aura

A mob chills players, and the bundled skills do the freezing.

Frost_Wraith:
  Type: SKELETON
  Display: '<aqua>Frost Wraith'
  Health: 40
  Skills:
  - modifytemp{id=wraith;amount=-30;duration=3} @PlayersInRadius{r=6} ~onTimer:20

As the players cool, the bundled cold effects start at 5, -5 and -10.

Heat exhaustion

Weakens a hot player who has not drunk.

Heat_Exhaustion:
  Cooldown: 30
  Conditions:
  - playertemp{min=40}
  - ishydrated false
  Skills:
  - potion{type=WEAKNESS;duration=600;lvl=0} @Self
  - message{m="<yellow>The heat makes you faint. Drink a water bottle to recover."} @Self

List it under player-tick. Drinking any potion makes a player hydrated for 300 seconds (hydration-seconds in temperature.yml).

Freezing at your own threshold

Moves the frost overlay from -5 to -8.

Server_ColdSlowness:
  Cooldown: 3
  Conditions:
  - playertemp{max=-8}
  Skills:
  - potion{type=SLOWNESS;duration=80;lvl=0} @Self
  - setfreezing{value=true;damage=false} @Self

In the season files, list Server_ColdSlowness under player-tick in place of MS_ColdSlowness. Then make these two changes and run /mm reload and /ms reload:

  • In skills/Temperature.yml, in MS_TemperatureRecovery, change the condition of the setfreezing{value=false} line to ?playertemp{min=-7}. Otherwise the overlay stays on while a player warms up from -8 to -4.
  • In skills/TemperatureReadout.yml, change every -5 in the blue line of MS_TemperatureColor and in the matching line of MS_TemperatureWarnings to -8.
Frozen_Notice:
  Cooldown: 30
  Conditions:
  - seasonfrozen
  Skills:
  - message{m="<aqua>Your fingers are numb. Find a fire."} @Self

List it under player-tick. seasonfrozen tests the frost of setfreezing, while isfrozen is the MythicMobs condition for vanilla freezing.

Healing and heat

Stops healing at 35 degrees for players who have not drunk, and allows it again once they drink.

Heat_NoHealing:
  Cooldown: 3
  Conditions:
  - playertemp{min=35}
  - ishydrated false
  - canheal
  Skills:
  - sethealing{value=false} @Self

Heat_HealingBack:
  Cooldown: 3
  Conditions:
  - playertemp{min=35}
  - ishydrated true
  - canheal false
  Skills:
  - sethealing{value=true} @Self

Under player-tick, list both in place of MS_HeatNoHealing.

Sunstroke

Warns a hot player first, then sets a player who has not drunk on fire.

Sunstroke_Warning:
  Cooldown: 20
  Conditions:
  - playertemp{min=45;max=49}
  - ishydrated false
  Skills:
  - message{m="<red>Your skin is burning. Find water or shade."} @Self

Sunstroke:
  Cooldown: 2
  Conditions:
  - playertemp{min=50}
  - ishydrated false
  Skills:
  - ignite{ticks=60} @Self
  - setrsburn{value=true} @Self

Under player-tick, list Sunstroke in place of MS_HeatFire and add Sunstroke_Warning.

Good to know

  • MS_TemperatureRecovery ends the frost at -4 and above and the healing block at 34 and below, on every pass. A skill that sets one of these states inside that range fights it, and the state flickers.
  • modifytemp, setfreezing, sethealing and setrsburn only change players. From a mob, target players with @Trigger or @PlayersInRadius.
Updated Nov 11, 2026