Seasonal Skills With Mythic Mobs
Make MythicMobs skills react to the season and to a player's body temperature, and run them from a season file. The guide has five steps.
What you need
- MythicMobs. MythicSeasons copies its skill pack at server start, so restart once if you added MythicMobs after MythicSeasons first started.
- The
mythicseasons.adminpermission (operators have it). - A test world in the shipped
winterseason: run/ms set winterin it. - The shipped
temperature.ymlwithenabled: true. Theplayertempcondition never matches while it isfalse.
Paths are relative to plugins/MythicSeasons unless they start with plugins/.
How the pieces fit
MythicSeasons casts every skill in a season's player-tick list for each player in a world in that season, every performance.skill-trigger-interval ticks (5 by default, four times a second), with the player as the caster.
Step 1: Look at the bundled pack
MythicSeasons copies its pack to plugins/MythicMobs/packs/MythicSeasons/:
plugins/MythicMobs/packs/MythicSeasons
packinfo.yml
skills
Ambient.yml
Atmosphere.yml
AtmosphereSeasons.yml
BlockHeat.yml
Temperature.yml
TemperatureModifiers.yml
TemperatureReadout.yml
Its skills start with MS_. MS_ColdHunger in Temperature.yml is a typical one:
MS_ColdHunger:
Cooldown: 3
Conditions:
- playertemp{max=5}
Skills:
- potion{type=HUNGER;duration=80;lvl=0} @Self
Packs lists every skill of the pack.
Step 2: Write your own skills
Create plugins/MythicMobs/Skills/SeasonalSkills.yml with two skills:
Winter_Bite:
Cooldown: 60
Conditions:
- season{season=winter}
- playertemp{max=5}
Skills:
- message{m="<aqua>The winter cold bites at you. Find a fire."} @Self
Winter_Layers:
Conditions:
- season{season=winter}
Skills:
- modifytemp{id=layers;amount=4;duration=2} @Self
Cooldown: 60is in seconds. Without itWinter_Bitewould run four times a second.- season is true while the caster's world is in one of the listed seasons, such as
season{season=fall,winter}. - playertemp compares the body temperature in degrees Celsius.
max=5means 5 or lower, andmin=sets a lower limit. - modifytemp adds
amountdegrees to the body temperature under the nameid, fordurationseconds after the last cast. A new cast with the sameidreplaces the earlier value instead of adding to it.
Step 3: Add the skills to the season
Add the two names at the end of the player-tick list in seasons/winter.yml, and keep every other line:
skill-triggers:
player-tick:
- MS_Atmosphere
- MS_ColdHunger
- MS_ColdSlowness
- MS_ColdFreezing
- MS_HeatNoHealing
- MS_HeatSlowness
- MS_HeatFire
- MS_BlockHeat
- MS_TemperatureRecovery
- MS_TemperatureModifiers
- MS_TemperatureReadout
- MS_TemperatureWarnings
- Winter_Bite
- Winter_Layers
player-tick-particles:
- MS_ColdBreath
- MS_NightSparks
world-tick: []
season-start: []
season-end: []
Skill names are case sensitive.
Step 4: Reload both plugins
Run the MythicMobs reload first, then the MythicSeasons reload:
/mm reload
/ms reload
| You changed | Run |
|---|---|
A skill file in plugins/MythicMobs/Skills or a file of the bundled pack |
/mm reload |
A season or event file, calendar.yml, crops.yml, temperature.yml or config.yml (except the keys in the next row) |
/ms reload |
A biome file, griefprevention.yml, or these keys in config.yml: the three performance timers (chunk-supplier-interval, skill-trigger-interval, autosave-interval-minutes), biome-display-name and optimized-custom-biomes |
Restart the server |
Chat shows Reloaded and Biome file changes need a restart. A few seconds later the console should show no Skill trigger references unknown MythicMobs skill line.
Step 5: Test
- Stand in the winter test world in survival mode. Take off your armour, hold nothing, stay out of water and rain, keep away from lava, fire, campfires, torches and lanterns, and do not sprint.
- Read the temperature on the action bar, shown as
[ <number>°C ]. At 5 or below it also showsHeat up!in front of the number. - Wait about thirty seconds. The number rises by about 4 degrees, the modifier that
Winter_Layerskeeps alive. - While your body temperature is 5 or lower, chat shows
The winter cold bites at you. Find a fire.once a minute. Test at night: around midday the reading, which includes the 4 degrees ofWinter_Layersand 5 more while the hunger bar holds 18 points or more, can stay above 5. The pack's own warning,Warning! Your temperature is really low, heat up quickly!, can show too.
When you are done testing, remove the two names from winter.yml and run /ms reload, unless you want the skills in your winter.
If nothing happens
| Symptom | Cause |
|---|---|
The console says Skill trigger references unknown MythicMobs skill: Winter_Bite |
MythicMobs does not know that name. Check spelling and case, and run /mm reload. The line is logged once per name |
The console says Failed to cast skill 'Winter_Bite': followed by a message |
An error while casting. Read the message and fix the skill |
/ms getinfo prints Seasons are off in this world |
The world has no season. Run /ms set winter |
| The number on the action bar never changes | Temperature is off in the world (/ms temperature toggle turns it on again), or a WorldGuard region or a claim fixes the temperature |
| There is no number on the action bar | MS_TemperatureReadout is not in the season's player-tick, enabled is false in temperature.yml, the player is in creative or spectator mode or turned temperature off with /toggletemperature, or another plugin keeps writing to the action bar |
| The message never shows | The body temperature stays above 5, or the 60 second Cooldown is still running |
See Skills Not Firing for the full checklist.
Next steps
- Triggers covers every key of
skill-triggers, and Temperature where the body temperature comes from. - Season Skills and Temperature Skills have more finished skills.