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: trueintemperature.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 reloadafter editing a skill file and/ms reloadafter editing a season file ortemperature.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-tickinseasons/spring.ymlandseasons/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-secondsintemperature.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_ColdSlownessunderplayer-tickin place ofMS_ColdSlowness. Then make these two changes and run/mm reloadand/ms reload:
- In
skills/Temperature.yml, inMS_TemperatureRecovery, change the condition of thesetfreezing{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-5in the blue line ofMS_TemperatureColorand in the matching line ofMS_TemperatureWarningsto-8.
Frozen_Notice:
Cooldown: 30
Conditions:
- seasonfrozen
Skills:
- message{m="<aqua>Your fingers are numb. Find a fire."} @Self
List it under
player-tick.seasonfrozentests the frost ofsetfreezing, whileisfrozenis 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 ofMS_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, listSunstrokein place ofMS_HeatFireand addSunstroke_Warning.
Good to know
MS_TemperatureRecoveryends 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,sethealingandsetrsburnonly change players. From a mob, target players with@Triggeror@PlayersInRadius.