Seasons Not Changing
Use this checklist when a world stays in one season, changes back, or shows a date you do not expect. Stop at the first check that fails. If players still see the old look after a change, see Biome Colors.
Checklist
- 1. Count the days
- 2. The world has a season
- 3. The calendar is on
- 4. Automatic cycling is on
- 5. The world has a date
- 6. The clock is moving
- 7. The real-time modes
- 8. Every season has a start date
- 9. The start lines are spelled right
- 10. The season changes back
- 11. The date changed by itself
- 12. Another plugin cancels the change
Checklist
1. Count the days
Run /ms getinfo.
Season: <name>
Date: <weekday>, <month> <day>, year <year>
Days until <next season>: <days>
Time: <time>
Events: <events>
- Good:
Days until <next season>counts down. With the shippedcalendar.ymla season lasts about 30 real hours, so wait or shorten the lengths incalendar.yml. The line appears only when the season has a next season inseason-cycle. - Bad:
Seasons are off in this world, see step 2. - Bad: no
Date:line. The calendar is off (step 3) or the world has no date (step 5).
2. The world has a season
Run /ms set <season>, which prints Season set to <name>. An unknown id prints Unknown season, pick one of: <ids>. The Nether and the End cannot have a season (No seasons in the Nether or the End).
3. The calendar is on
In plugins/MythicSeasons/calendar.yml:
enabled: truemust be there. A missing line counts asfalse.monthsneeds at least one month, or the console printscalendar.yml defines no months; the calendar is disabled.- A YAML error prints
calendar.yml could not be read: <reason>, though/ms reloadstill answersReloaded. Until you fix the file and run/ms reload, the previous calendar stays active, or after a server start the calendar is off.
4. Automatic cycling is on
automatic-season-cycling in config.yml must be true (the default), or only /ms set and /ms nextseason change the season. Run /ms reload after a change.
5. The world has a date
Give a world without a Date: line a date with /ms setdate <date>, in whole numbers as dd/mm/yyyy (mm/dd/yyyy when american-date-format is true in calendar.yml). It prints Date set to <date>, or:
Usage: /ms setdate dd/mm/yyyy(mm/dd/yyyywith the American format) for a wrong format, with(e.g. 01/05/0001)when a part is not a number.Month can't be above <n>for a month above the number of months.- Nothing for a day or month of
0, which is ignored.
A world gets a date from /ms nextseason, /ms setdate, /ms set with the calendar and sub-seasons on, or a server start with a saved season. A season from on-new-world-creation, or from /ms set with the calendar or sub-seasons off, comes without one.
6. The clock is moving
The date advances when the world's clock passes midnight (world time 18000). If /time query daytime stays the same for a few seconds, time is stopped:
- The world is paused.
/ms pausetimepauses or resumes it and printsTime pausedorTime resumed. Withsync-time-with-real-worldon, a world with a season answersTime follows the real clock and can't be paused. - With
modify-daynight-length: false, a world that ran with ittruekeeps the daylight cycle game rule off. Turn the rule on with/gamerule, or run/ms pausetimethere. - With
modify-daynight-length: true, the rule is off in every world with a season and the clock moves only in worlds with a date (step 5).
See General Config.
7. The real-time modes
Two switches in calendar.yml take the date from the real clock:
sync-time-with-real-world: trueuses the real date intime-sync-timezone: seasons change on the real<season>-startdates and/ms setdatedoes not move the date. The calendar needs twelve months in real-year order and sevenweek-days, Monday first.calendar-is-real-life-days: truemoves the date one day at each real midnight intime-sync-timezone, however long the in-game day is.
8. Every season has a start date
Every season in season-cycle in config.yml needs a line <id>-start: <Month> <day> in calendar.yml, with the lowercase id. The console reports gaps at start:
| Console line | Cause |
|---|---|
calendar.yml has no '<id>-start' entry, so the season '<id>' from season-cycle can never start. Add '<id>-start: <Month> <day>' to calendar.yml, for example '<id>-start: March 4'. |
Logged only while enabled is true in calendar.yml |
config.yml season-cycle lists the unknown season '<id>', dropping it. Known seasons: <ids> |
The list names a season that is not loaded |
config.yml season-cycle names no season that exists in seasons/. Cycling through every loaded season instead: <ids> |
No entry is a loaded season |
A season missing from season-cycle is never reached either, even with a start line, and in a world in that season /ms nextseason silently does nothing. Keep season-cycle in the order of the start dates.
9. The start lines are spelled right
A start line is a month and a day separated by a space, such as winter-start: December 4. The month must match a key under months exactly, capitals included. Only the seasons in season-cycle are read.
- Bad:
Could not find month in: <value> as season start, followed byMythicSeasons could not start:and a stack trace, orReload stopped part-way: <error>on/ms reload. Fix the month name. - A day that is not a whole number, or a line without a space, stops the start the same way, with an error that quotes the line.
10. The season changes back
While automatic-season-cycling is true, a season that does not match the world's date is replaced within a second.
/ms setmoves the date only whenenabledistrueincalendar.ymlandsub-seasons.enabledistrueinconfig.yml. With sub-seasons off, use/ms nextseason(start of the next season) or/ms setdate.- A date from
/ms setdatethat lies in another season changes the season. Date unchanged, <id> has no usable length in calendar.ymlafter/ms set: check that season's<id>-startentry and the next season's.- A season missing from
season-cyclecannot stay (step 8). - After a restart, the calendar corrects the restored season about ten seconds after start.
11. The date changed by itself
- Removing or reordering months while worlds hold dates can leave a saved month number past the last month. That world's day and night handling then fails every tick until
/ms setdategives it a valid date. - A world in
synced-worldstakes the highest clock of the synced worlds and the date of the one furthest ahead. - Edits to
data.ymlwhile the server runs are lost. A world that another plugin loads after MythicSeasons finished starting is not restored from it.
12. Another plugin cancels the change
A plugin that listens to the season change event can cancel it. /ms set still prints its success message and the calendar retries every second, but the season never changes. Check the plugins that react to seasons.