Options
Each event is one .yml file in plugins/MythicSeasons/events/. Events explains how events run.
- Every
.ymlfile in the folder is loaded, exceptevents.ymlandcustom-events.yml. Subfolders and.yamlfiles are not read. - Unknown keys are ignored without a warning.
/ms reloadloads the folder again.- The shipped files (
christmas,newyear,halloween,easter,example) come back when deleted. To turn one off, setenabled: false.
Identity
| Option | Default | What it does |
|---|---|---|
id |
none | Required. The event's name, turned into lower case, used by isEvent, /ms event and the signals startEvent_<id> and endEvent_<id>. Files without it are skipped with a warning. |
enabled |
true |
false keeps the file as a draft: the event is not loaded. |
display-name |
the id | Shown in /ms getinfo and the event placeholders, MiniMessage tags included. Not translated. |
display-event |
true |
false hides the event from /ms getinfo and the active and next event placeholders. isEvent, lines, Bukkit events and signals still work. |
- If mobs react to an event's signals, keep its id to letters, digits,
_and-. - Two files with the same id replace each other without a warning, and either may win.
Schedule
| Option | Default | What it does |
|---|---|---|
type |
dated |
dated, weekly or daily, in any letter case. Another value logs a warning and counts as dated. |
schedule.start |
none | First active day of a dated event, see Date forms. |
schedule.stop |
none | Last active day of a dated event, in the same form as schedule.start. |
schedule.day |
none | Weekday of a weekly event from week-days in calendar.yml, any letter case. Other names count as the first weekday, without a warning. |
Keys of another type are ignored.
Date forms
| Form | Example | Active |
|---|---|---|
day/month |
25/12 |
In every in-game year |
day/month/year |
25/12/3 |
Only in that in-game year |
| Plain day number | 5 |
On those days of every month |
- With
american-date-format: trueincalendar.yml, the first two forms are writtenmonth/dayandmonth/day/year. - The month is a number from 1 to the number of months in
calendar.yml. A day past the end of its month counts as its last day. - A range may cross the end of the year.
- In-game years start at 0 (the real year with
sync-time-with-real-world). - Keep a range with years shorter than one year. The next-event placeholders ignore years, see Events.
- With plain day numbers,
startmust not be abovestop, and the event is never listed as the next event.
Worlds
| Option | Default | What it does |
|---|---|---|
disabled-worlds |
none | Worlds where the event never starts, stops or counts as active. Names are case-sensitive. NONE, the shipped placeholder, matches no world. |
Worlds in worlds-without-events in calendar.yml run no lines of any event, but events still count as active there. See Events.
Lines
| Option | Default | What it does |
|---|---|---|
commands.start |
none | Lines that run when the event starts in a world, for a daily event at every day change. |
commands.stop |
none | Lines that run on the day change after the last active day (%day% is the first day without the event). A daily event runs them only on /ms event stop. |
- A line starting with
/is a console command,NONEdoes nothing, and other lines are chat messages to that world, with MiniMessage tags. Lines can use%season%,%world%,%day%,%month%,%month_asname%,%year%,%weekday%and PlaceholderAPI placeholders (without a player), see Events. - Quote every line. A line that starts with
%is not valid YAML unquoted.
Messages in the server log
| Message | Meaning |
|---|---|
Loaded event: <id> |
The event was loaded. |
Event file <file> has no 'id' field, skipping. |
The file has no id. |
Invalid event type '<TYPE>' in <file>, defaulting to DATED. |
type is not dated, weekly or daily. |
events/<file> is a dated event but has no schedule.start and schedule.stop, skipping it. |
A date is missing. |
events/<file> is a weekly event but has no schedule.day, skipping it. |
schedule.day is missing. |
events/<file> schedule.start '<a>' / schedule.stop '<b>': dates must be day/month, day/month/year or a plain day number. Skipping this event. |
A date is not made of numbers, has a month outside the calendar or misses a part. |
Event <id> mixes a schedule date with a year and one without ('<a>' / '<b>'), ignoring the year. |
Only one of the two dates has a year, so both years are ignored. |
Failed to load event file: <file> |
Another error while reading the file. A stack trace follows. |
Examples
id: winter-holidays
type: dated
schedule:
start: 20/12
stop: 5/1
commands:
start:
- "<aqua>The winter holidays have begun in %world%."
Crosses the change of year. Stop lines would run on 6 January.
id: founders-week
type: dated
schedule:
start: 20/12/3
stop: 5/1/4
Runs once, from in-game year 3 into year 4.
id: first-week
display-name: "<yellow>First Week"
type: dated
schedule:
start: 1
stop: 7
Active on days 1 to 7 of every month.