Packs
The bundled MythicMobs pack MythicSeasons holds ready-made skills for temperature, ambient particles and sounds, and weather, which the season files call.
Installation
With MythicMobs installed, every server start copies the pack into plugins/MythicMobs/packs/MythicSeasons/, so a fresh install needs no /mm reload.
- Only missing files are copied, and the console then logs
Installed <n> MythicMobs pack file(s) at <path>. - Only a server start copies files, not
/ms reload. A file you delete comes back at the next start. - The folder name
MythicSeasonsis fixed: a renamed or moved folder gets a fresh pack atpacks/MythicSeasonson the next start.
Folders and Files
| File | Holds |
|---|---|
packinfo.yml |
The pack's name, description and version |
skills/Temperature.yml |
The effects of cold and heat, the comfort buff, their recovery and an optional slow-down |
skills/TemperatureModifiers.yml |
What warms or cools a player: armour, held items, food and drink, wetness, sprinting and wind chill |
skills/TemperatureReadout.yml |
The action bar readout, its colours and the warnings |
skills/BlockHeat.yml |
The heat and cold of nearby blocks |
skills/Ambient.yml |
Breath, sweat, fireflies, night sparkles and shooting stars |
skills/Atmosphere.yml |
Weather effects for the atmosphere and optional air temperature skills |
skills/AtmosphereSeasons.yml |
Season-reactive skills, sounds and particles for weather triggers, and skills that steer the weather |
All skill names start with MS_.
Pack Info
packinfo.yml ships with Version: "1.0.0", which MythicSeasons compares with the pack in the jar. See Updating the Pack.
Skills
- Cooldowns are in seconds.
- Conditions are checked on the caster: the player, or for
world-tickskills the first player in the world. playertemp{max=5}means 5 or below.- With
enabled: falseintemperature.ymlthe temperature skills stay idle.
Temperature.yml
| Skill | Cooldown | Runs when | Effect |
|---|---|---|---|
MS_ColdHunger |
3 | playertemp{max=5} |
Hunger for 80 ticks |
MS_ColdSlowness |
3 | playertemp{max=-5} |
Slowness for 80 ticks and the frost overlay without damage (setfreezing{value=true;damage=false}) |
MS_ColdFreezing |
3 | playertemp{max=-10} |
Freezing with damage (setfreezing{value=true;damage=true}) |
MS_HeatNoHealing |
3 | playertemp{min=35} and canheal |
Stops natural regeneration (sethealing{value=false}) |
MS_HeatSlowness |
3 | playertemp{min=40} |
Slowness for 80 ticks |
MS_HeatFire |
2 | playertemp{min=50} and not ishydrated |
Fire for 40 ticks, flagged as a heat burn (setrsburn{value=true}) |
MS_Boosts |
5 | playertemp{min=15;max=25} |
Regeneration for 120 ticks |
MS_TemperatureRecovery |
none | Always | Ends the frost at -4 and above and the healing block at 34 and below. Sets the heat-burn flag of MS_HeatFire at 50 and above and clears it at 49 and below |
MS_TemperatureSlowdown |
2 | playertemp -22 or below, or 69 or above |
Slowness that gets stronger in four tiers past those values, the fourth at -60 or below and at 182 or above |
TemperatureModifiers.yml
List MS_TemperatureModifiers in skill-triggers.player-tick to run these six skills every 2 seconds. Each modifier ends 3 seconds after its condition stops. See Temperature for how they add up.
| Skill | What it adds |
|---|---|
MS_ArmorWarmth |
Per worn piece, adding up: leather 5 (never above 25), iron, golden and diamond 1.25, netherite 0.75 |
MS_HeldItems |
The strongest item in either hand, under the id blocks, see Custom Items |
MS_FoodAndDrink |
-10 while ishydrated, never below 25. +5 with 18 or more hunger points, never above 25 |
MS_Wetness |
-10 in summer and winter, -4 in other seasons, while in water (not in a boat), powder snow or rain. Fades by 1 per run once dry |
MS_SprintWarmth |
+2 per run while sprinting on foot, up to 4, otherwise -1 per run down to 0 |
MS_WindChill |
-1 to -4 by speed, -1 to -6 while gliding, see Movement |
MS_Wetness and MS_SprintWarmth keep their value in the caster variables mswet and mssprint.
TemperatureReadout.yml
| Skill | Cooldown | Runs when | Effect |
|---|---|---|---|
MS_TemperatureReadout |
2 | hastemperature and not in Creative or Spectator mode |
Writes the action bar readout, with Heat up! at 5 or below, Cool down! at 35 or above and the hydration icon while hydrated. Runs MS_TemperatureColor first |
MS_TemperatureColor |
none | Always | Sets the variable caster.mstempcolor to the colour tag of the body temperature |
MS_TemperatureWarnings |
2 | hastemperature |
Runs MS_TemperatureWarningMessage for a player in Survival mode whose body temperature falls through 5, -5 or -10 or rises through 35, 40 or 50 |
MS_TemperatureWarningMessage |
20 | Always | Sends the cold or the heat warning to chat |
See Display for the layout and the colours.
BlockHeat.yml
MS_BlockHeat runs one blockheat line per kind of block, all under the id blocks, so only the strongest warming and the strongest cooling block count. Lines with air=true also warm the player's air readings.
| Blocks | Degrees | Range | Air |
|---|---|---|---|
lava |
22 | 7 | yes |
fire |
16 | 7 | yes |
campfire[lit=true] |
15 | 7 | yes |
torch, wall_torch, lantern |
7 | 7 | no |
nether_portal |
25, -25 in the Nether | 16 | no |
soul_fire |
-16 | 7 | no |
blue_ice |
-15 | 7 | no |
soul_campfire[lit=true] |
-10 | 7 | no |
soul_torch, soul_wall_torch, soul_lantern |
-7 | 7 | no |
ice, packed_ice |
-6 | 3 | no |
Ambient.yml
Only the player a skill runs for sees or hears it.
| Skill | Cooldown | Runs when | Effect |
|---|---|---|---|
MS_ColdBreath |
2.5 | playertemp{max=0} and the caster is not in a liquid |
Three puffs of white dust in front of the player's face, 3 ticks apart |
MS_Sweat |
1.5 | playertemp{min=40} and the caster is not in a liquid |
Falling water droplets around the player |
MS_FireFlies |
4 | timerange{from=20;to=4} and hasseasons |
Fireflies around the player: FIREFLY on Minecraft 1.21.5 and newer, TOTEM on older versions |
MS_NightSparks |
6 | timerange{from=20;to=4} and sunny |
White END_ROD sparkles high above the player |
MS_FallingStars |
90 | timerange{from=20;to=4} and sunny |
A shooting star of FLAME particles 80 blocks up, within 80 blocks of the player, with a firework launch sound |
timerange{from=20;to=4} runs from hour 20 past midnight to hour 4.
Atmosphere.yml
| Skill | Cooldown | Runs when | Effect |
|---|---|---|---|
MS_Atmosphere |
none | Always | Runs MS_AtmosphereWeather, MS_AtmosphereWind, MS_AtmosphereSnow, MS_AtmosphereThunder, MS_AtmosphereBreeze, MS_AtmosphereGale and MS_MarsDust |
MS_AtmosphereWeather |
none | Always | Runs atmosphereweather: the simulated rain, clear sky and storm reach the player's client |
MS_AtmosphereWind |
none | Always | Runs atmospherewind{multiplier=0.02;vertical=0.3;requiregliding=true}: the local wind pushes gliding players |
MS_AtmosphereSnow |
0.5 | atmosphere{raining=true;snowing=true} |
Snowflake particles around the player |
MS_AtmosphereThunder |
6 | atmosphere{storm=true} |
The sound entity.lightning_bolt.thunder, volume 0.9, pitch 0.9, for the player |
MS_AtmosphereBreeze |
1.2 | atmospherewind{min=2;max=5}, wind speed in metres per second |
Wisps of cloud particles that drift with the wind |
MS_AtmosphereGale |
0.7 | atmospherewind{min=5} |
Denser cloud streaks, a gust particle and the sound entity.breeze.idle_air, volume 0.35, pitch 0.8 |
MS_MarsDust |
0.5 | atmosphereprofile{profile=mars} and atmospherewind{min=3} |
Orange DUST around the player and dust_plume streaming downwind |
MS_AtmosphereBodyTemp |
none | Always | Runs the three air temperature skills below |
MS_AtmosphereFreezingAir |
none | atmospheretemp{max=-5}, degrees Celsius |
Adds -10 to body temperature under the id atmosphere, for 2 seconds per cast |
MS_AtmosphereColdAir |
none | atmospheretemp{min=-4;max=4} |
Adds -4 under the id atmosphere |
MS_AtmosphereHotAir |
none | atmospheretemp{min=30} |
Adds 8 under the id atmosphere |
The particle skills take the wind direction from <mythicseasons.windx> and <mythicseasons.windz>. Directional particles only work with particle types that carry no data, such as cloud, smoke and gust. Directional dust particles ignore their colour.
MS_AtmosphereSnow, MS_AtmosphereBreeze, MS_MarsDust and the particles of MS_AtmosphereGale skip players who turned season particles off (<mythicseasons.particles>). The weather, the wind push and the gale sound still run.
Wind effects and the incloud condition need a weather system, see Weather sources. The same skills work in every world.
AtmosphereSeasons.yml
| Skill | Cooldown | Runs when | Effect |
|---|---|---|---|
MS_SeasonAtmosphere |
none | Always | Runs MS_WinterOvercastChill and MS_SummerHeatShimmer on the caster |
MS_WinterOvercastChill |
2 | season{season=winter} and cloudcover{min=0.7} |
Adds -3 to body temperature under the id overcast, for 3 seconds per cast |
MS_SummerHeatShimmer |
2 | season{season=summer} and cloudcover{max=0.2} |
Adds 4 under the id sunexposure, for 3 seconds per cast |
MS_StormArrives |
none | Always | The sound entity.lightning_bolt.thunder, volume 1.0, pitch 0.7, for the player |
MS_StormPasses |
none | Always | The sound entity.breeze.idle_air, volume 0.4, pitch 1.2 |
MS_FirstSnowfall |
none | Always | 40 snowflake particles (skipped for players with season particles off) and the sound block.snow.place, volume 0.6, pitch 1.4 |
MS_CloudEnter |
none | Always | The sound ambient.underwater.enter, volume 0.25, pitch 1.6 |
MS_CloudExit |
none | Always | The sound ambient.underwater.exit, volume 0.25, pitch 1.6 |
MS_SummonStormCell |
none | Always | Runs atmosphereforce{temp=20;vapor=2.5;updraft=1.5;radius=160;duration=600} at the caster so cloud and rain grow. Plays the Wither spawn sound there, heard only nearby |
MS_CalmTheSky |
none | Always | Runs atmosphereforce{temp=-8;vapor=0.3;radius=200;duration=800} at the caster to cool and dry the air |
MS_BossSkyStart |
none | Always | Runs atmosphereprofile{profile=example;duration=6000}. Needs atmosphere-profiles/example.yml |
MS_BossSkyEnd |
none | Always | Runs atmosphereprofile{clear=true}, which removes every profile the mechanic pushed onto the world |
MS_StormArrives, MS_StormPasses, MS_FirstSnowfall, MS_CloudEnter and MS_CloudExit are meant for the atmosphere-* triggers below. Cast MS_SummonStormCell once: repeated casts stack into a runaway storm.
Using the Skills
A season file casts pack skills by name from its skill-triggers lists.
skill-triggers:
player-tick:
- MS_Atmosphere
- MS_ColdHunger
- MS_ColdSlowness
- MS_ColdFreezing
player-tick-particles:
- MS_ColdBreath
- MS_NightSparks
atmosphere-storm-start:
- MS_StormArrives
atmosphere-storm-stop:
- MS_StormPasses
MS_StormArrivesplays for a player when a storm begins where they stand.
| Key | Casts | Caster |
|---|---|---|
player-tick |
Every performance.skill-trigger-interval ticks, 5 by default |
Each player in each world that has a season |
player-tick-particles |
The same, skipping players who switched season particles off with /toggleseasonparticles |
Each remaining player |
world-tick |
The same | The first player in the world. Skipped while the world is empty |
season-start |
Once, one tick after the world's season changed | The first player in the world |
season-end |
Once, when the world's season changes. The ending season's list runs | The first player in the world |
atmosphere-rain-start, atmosphere-rain-stop, atmosphere-storm-start, atmosphere-storm-stop, atmosphere-snow-start, atmosphere-snow-stop, atmosphere-cloud-enter, atmosphere-cloud-exit |
When that weather state changes for a player, checked at the same interval | The player whose weather changed |
Skill triggers only run in worlds that have a season, and only with MythicMobs. The weather triggers need the atmosphere simulation, a permanent weather region or another plugin's weather provider, not vanilla weather alone. See Triggers.
An unknown skill name logs Skill trigger references unknown MythicMobs skill: <name> once. A skill that throws an error logs Failed to cast skill '<name>': <message> once.
The four shipped seasons use the pack like this:
| Season | player-tick |
player-tick-particles |
world-tick |
|---|---|---|---|
| winter | MS_Atmosphere, MS_ColdHunger, MS_ColdSlowness, MS_ColdFreezing, MS_HeatNoHealing, MS_HeatSlowness, MS_HeatFire, MS_BlockHeat, MS_TemperatureRecovery, MS_TemperatureModifiers, MS_TemperatureReadout, MS_TemperatureWarnings |
MS_ColdBreath, MS_NightSparks |
none |
| spring | The same twelve and MS_Boosts |
MS_FireFlies |
none |
| summer | The same twelve | MS_Sweat, MS_FireFlies, MS_FallingStars |
none |
| fall | The same twelve and MS_Boosts |
none | none |
No shipped season lists MS_TemperatureSlowdown, MS_AtmosphereBodyTemp or any skill from AtmosphereSeasons.yml.
A custom skill that cools every player by 4 degrees at night in winter:
MS_NightFrost:
Cooldown: 3
Conditions:
- timerange{from=20;to=4}
- season{season=winter}
Skills:
- modifytemp{id=nightfrost;amount=-4;duration=3} @Self
Put it in a skill file of your own pack and list
MS_NightFrostunderskill-triggers.player-tickofseasons/winter.yml.
Reloading
| You changed | Run |
|---|---|
| A file in the pack folder | /mm reload |
skill-triggers in a season file |
/ms reload |
| A temperature threshold, a modifier or the readout | /mm reload after you edit the skills that use it |
temperature.yml |
/ms reload |
performance.skill-trigger-interval in config.yml |
Restart the server |
| The pack folder itself, or a new MythicSeasons version | Restart the server |
/ms reload never reads the pack.
Updating the Pack
Pack files on your server are never replaced, so an update does not change skills you already have.
- New files in the jar are copied at the next start.
- New skills inside a file you already have are not added. Copy them over, or move the file out of the folder and restart to get the shipped version.
- The shipped pack keeps
Version: "1.0.0"even when its skills change, so no console warning tells you. Compare your skill files with the jar's after each update.
Updating to the temperature skills
The temperature rules moved from temperature.yml into the pack, but a server that had the pack keeps its old files. Do this once:
- Move
skills/Temperature.ymlout of the pack folder and restart to get the new version. The other new files arrive by themselves. - Add
MS_TemperatureRecoveryandMS_TemperatureModifierstoskill-triggers.player-tickof every season that lists the temperature skills, afterMS_BlockHeat. For the action bar readout and the chat warnings, addMS_TemperatureReadoutandMS_TemperatureWarningstoo. - Run
/mm reloadand/ms reload. - Optional: delete the old keys from
temperature.yml, see Moved to the pack. If you had changedwater-bottle-effect-duration, put that value inhydration-seconds.