Language

Chat messages come from one language file in plugins/MythicSeasons/lang/, picked with language in config.yml.

Choosing a language

language: de

In config.yml: messages come from lang/de.yml.

  • Only en.yml is shipped. Missing keys are added back to it at each start and /ms reload.
  • A language without a matching file falls back to English and logs language: <code> has no lang/<code>.yml, falling back to English. Available: <codes>.
  • Every player gets the server's language, not their client's.

File format

SEASON-CHANGED: "<prefix><gray>Season set to <white>$season$"
HELP-SET: "<#5EEAD4>/$label$ set \\<season> [world] <dark_gray>- <gray>set the season"

A placeholder, the command's name and a literal <.

  • Messages use MiniMessage tags (<red>, <bold>, <#RRGGBB>). Legacy & colour codes are not converted.
  • Only the $placeholders$ listed for a key are filled in. PlaceholderAPI placeholders are not.
  • $label$ is the name of the command the message is about, as set in commands.yml.
  • Write a literal < as \\< inside double quotes or \< inside single quotes, or MiniMessage reads it as a tag.
  • A key can hold a YAML list, one line per entry.
  • Keep the quotes: YAML reads unquoted on or off as true and false, and a value that is not text or a list is ignored (the English text shows).
  • Key names are fixed and unknown keys are ignored. A missing key uses the English text.

Prefix

PREFIX: "<#5EEAD4>MythicSeasons <dark_gray>» "
NO-PERMISSION-MESSAGE: "<prefix><#F87171>No permission"

The shipped prefix, and a message that starts with it.

  • <prefix> shows the PREFIX text. Its colours end with the prefix.
  • PREFIX: "" hides it everywhere. To hide it on one message, delete <prefix> there.
  • <prefix> also works in a season's transition-message and in an event's chat lines.
  • In the shipped file, every one-line command reply and the four season change messages start with <prefix>, and a reply of several lines has it on the first line only (SEASONSCOMMAND-CURRENTSEASON in /ms getinfo). SEASONS-DISABLED-ENABLE-HINT, RELOAD-BIOME-RESTART, NOT-A-NUMBER, EVENT-LIST-OTHER, help lines, ENABLED, DISABLED and CONSOLE-ONLY go without it.
  • A language file made before the prefix existed gets the PREFIX key at the next start, but you add <prefix> to its messages yourself.

Message types

Season changes

Sent to everyone in the world when its season changes, only while send-message-on-season-cycle is on and the new season's transition-message is empty (as in all four shipped seasons). No placeholders.

Key Season
SEASON-TO-SPRING spring
SEASON-TO-SUMMER summer
SEASON-TO-FALL fall
SEASON-TO-WINTER winter

Custom seasons have no such key, so with an empty transition-message they stay silent.

Season info

/ms getinfo [world] shows these lines in this order, leaving out those that do not apply (see Season information). An empty text hides its line, except SEASONCOMMAND-DISABLED.

Key Line Placeholders
SEASONCOMMAND-DISABLED The world has no season, or is the Nether or the End. /ms event start and stop also send it there
SEASONSCOMMAND-CURRENTSEASON The season $current_season$ its display name
SEASONCOMMAND-CURRENTDATE The date $current_weekday$, $current_month$, $current_day$, $current_year$
SEASONSCOMMAND-DAYSUNTILNEXTSEASON When the season has a next one in the cycle $next_season$ display name, $days_until_next_season$
SEASONCOMMAND-TIME The time of day, in the time.format of calendar.yml $time$
SEASONCOMMAND-EVENTS The running events, - for none $events$
SEASONSCOMMAND-DAYSUNTILNEXTEVENT Only when an event is coming up $next_event$, $days_until_next_event$
SEASONSCOMMAND-AIRTEMPERATURE The air temperature $air_temperature$: colour tag, number and the player's unit. A °C or °F typed into this message is removed

Player commands

Key Sent when Placeholders
TOGGLESEASONSCOMMAND-MESSAGE /toggleseasoncolors $status$
TOGGLETEMPERATURECOMMAND-MESSAGE /toggletemperature for yourself $status$
TOGGLE-TEMP-OTHER /toggletemperature <player>, from the console or with mythicseasons.toggletemperature.others $status$, $player$
TOGGLE-TEMP-USAGE The console runs /toggletemperature without a player $label$
TOGGLEPARTICLESCOMMAND-MESSAGE /toggleseasonparticles $status$
TOGGLEFAHRENHEITCOMMAND-TOFAHRENHEIT, TOGGLEFAHRENHEITCOMMAND-TOCELCIUS /togglefahrenheit switched the player to that unit
CLOUDQUALITYCOMMAND-MESSAGE /cloudquality <preset> $quality$
CLOUDQUALITY-USAGE /cloudquality without a valid preset $quality$ the current preset, $presets$ the names joined by /, $label$
CLOUDQUALITY-UNAVAILABLE Not sent in normal use (/cloudquality works with clouds on or off)
TOGGLECLOUDLAYERCOMMAND-MESSAGE /togglecloudlayer <name> $layer$, $status$
TOGGLECLOUDLAYER-USAGE /togglecloudlayer without a known name $layers$ every name with its state, $label$
TOGGLECLOUDLAYER-NONE No loaded cloud layer has a toggle name
NO-PERMISSION-MESSAGE A command is refused for lack of permission
CONSOLE-ONLY A command that needs a player runs from the console

ENABLED and DISABLED are the on and off words for $status$, the $value$ of DEBUG-MODE and the /ms atmosphere output.

Admin commands

Key Sent when Placeholders
SEASON-CHANGED /ms set changed the season $season$ display name
CHOOSE-SEASON /ms set without a season $seasons$ the season ids
UNKNOWN-SEASON /ms set with an unknown id $season$ as typed, $available$ the ids
SEASON-NO-CALENDAR /ms set for a season without a usable length in calendar.yml (the season is still set) $season$
CANT-HAVE-SEASONS /ms set, disable or nextseason in the Nether or the End
SEASONS-DISABLED-IN-WORLD /ms disable
SEASONS-DISABLED-NO-NEXT, SEASONS-DISABLED-ENABLE-HINT /ms nextseason in a world without a season, as two lines $label$ and $seasons$ in the hint
DATE-CHANGING /ms setdate set the date $date$
DATE-FORMAT-AMERICAN, DATE-FORMAT-EUROPEAN /ms setdate without a date or without three parts, by american-date-format in calendar.yml $label$
DATE-FORMAT-AMERICAN-EXAMPLE, DATE-FORMAT-EUROPEAN-EXAMPLE /ms setdate with parts that are not numbers $label$
MONTH-MAX /ms setdate beyond the last month $max$
PAUSE-ONLY-OVERWORLD /ms pausetime in the Nether or the End
PAUSE-SYNC-CONFLICT /ms pausetime in a world with a season while sync-time-with-real-world is on
TIME-PAUSED, TIME-RESUMED /ms pausetime
TEMPERATURE-WORLD-ENABLED, TEMPERATURE-WORLD-DISABLED /ms temperature toggle
TEMP-MODIFY-SUCCESS /ms temperature modify applied a change, except in the FIXED(...) form $change$, $player$, $duration$, all as typed
TEMP-MODIFY-USAGE /ms temperature modify with wrong arguments $label$
NOT-A-NUMBER A number for /ms temperature modify is not a whole number $value$
TEMP-CLEAR-SUCCESS /ms temperature clear $player$ display name
TEMP-INFO /ms temperature info <player> $player$, $status$, $body$ and $air$ (coloured, in the sender's unit, Celsius for the console), $change$ (total of the running timed changes, degrees C)
PLAYER-NOT-FOUND A named player is not online $player$ as typed
WORLD-NOT-FOUND A named world does not exist
CONSOLE-NEEDS-WORLD The console runs a world command without a world $label$, $command$
RELOAD-SUCCESS, RELOAD-BIOME-RESTART After every successful /ms reload
RELOAD-FAILED /ms reload stopped at a file error $error$
DEBUG-MODE /ms debug $value$
BIOMELIST-LOGGED A player runs /ms biomelist (the list goes to the console)
ATMOSPHERE-OVERWORLD-ONLY /ms atmosphere toggle for a Nether or End world
UNKNOWN-SUBCOMMAND /ms with an unknown subcommand $label$, $subcommand$

Weather and events

Key Sent when Placeholders
WEATHER-SET /ms weather clear, rain or storm $weather$, $radius$, $minutes$
WEATHER-RESET /ms weather reset
WEATHER-UNAVAILABLE The weather where the player stands is not simulated, or the atmosphere is off
EVENT-LIST-RUNNING, EVENT-LIST-OTHER /ms event list $events$ the event ids, - for none
EVENT-SET /ms event start or stop worked $event$, $status$
EVENT-UNCHANGED The event already runs, or is already stopped $event$, $status$
EVENT-UNKNOWN An unknown event id $available$
EVENT-OFF-IN-WORLD Starting an event that is off in that world $event$
EVENT-CANCELLED Another plugin cancelled the start or stop $event$

Help

/ms help and /ms alone show these lines. Player lines show only to players, admin lines only to the console and players with mythicseasons.admin. A command switched off in commands.yml gets no line.

Keys Lines
HELP-HEADER ($version$), HELP-WIKI, HELP-DISCORD, HELP-NORMAL-HEADER, HELP-GETINFO The header and /ms getinfo, for everyone
HELP-TOGGLESEASONCOLORS, HELP-TOGGLETEMPERATURE, HELP-TOGGLEPARTICLES, HELP-TOGGLEFAHRENHEIT, HELP-CLOUDQUALITY, HELP-TOGGLECLOUDLAYER The player commands
HELP-ADMIN-HEADER, HELP-SET ($seasons$), HELP-SETDATE-AMERICAN or HELP-SETDATE-EUROPEAN, HELP-NEXTSEASON, HELP-DISABLE, HELP-TEMPERATURE-TOGGLE, HELP-TEMPERATURE-MODIFY, HELP-TEMPERATURE-CLEAR, HELP-TEMPERATURE-INFO, HELP-PAUSETIME, HELP-WEATHER, HELP-EVENT, HELP-ATMOSPHERE, HELP-BIOMELIST, HELP-HEALTH, HELP-DEBUG, HELP-RELOAD, HELP-HELP The admin commands, in this order

Some help lines double as usage hints, for example HELP-WEATHER after wrong /ms weather arguments and the four HELP-TEMPERATURE- lines after /ms temperature alone.

Adding a language

  1. Copy lang/en.yml to lang/<code>.yml, for example lang/de.yml.
  2. Translate the values. Keep the keys, the $placeholders$ and the quotes.
  3. Set language: <code> in config.yml and run /ms reload.

Text outside the language file

Text Where it is set
Season names and season change messages display-name and transition-message in seasons/<id>.yml, see Season Options
Temperature readout and warnings The actionmessage and message lines of skills/TemperatureReadout.yml in the bundled pack, see Packs. The unit text is display.temperature in temperature.yml
Event names display-name in events/<id>.yml, see Event Options

Fixed English that cannot be translated: the /ms getinfo hint for admins in a world without a season, the welcome note for admins on a fresh install, the output of /ms health, and the /ms atmosphere subcommands apart from their on and off words.

Season, month, weekday and event names and the time go into the season info lines as written. A $ in one of them breaks /ms getinfo, and a \ is dropped or breaks it. Leave both out of display names.

Updated Nov 11, 2026