Calendar & Custom events

Calendar

Default calendar.yml file:

enabled: true
american-date-format: false
calendar-is-real-life-days: false
sync-time-with-real-world: false
time-sync-offset: 0
time-sync-timezone: 'system'
time:
  format: '$hours$:$minutes$'
  12-hour-clock:
    enabled: false
    add-am-pm: false
week-days:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
synced-worlds:
- none
worlds-without-events:
- none
winter-start: December 4
spring-start: March 4
summer-start: June 4
fall-start: September 4
months:
  January:
    days: 31
    day-length-in-min: 7
    night-length-in-min: 13
  February:
    days: 28
    day-length-in-min: 8
    night-length-in-min: 12
  March:
    days: 31
    day-length-in-min: 9
    night-length-in-min: 11
  April:
    days: 30
    day-length-in-min: 10
    night-length-in-min: 10
  May:
    days: 31
    day-length-in-min: 11
    night-length-in-min: 9
  June:
    days: 30
    day-length-in-min: 12
    night-length-in-min: 8
  July:
    days: 31
    day-length-in-min: 13
    night-length-in-min: 7
  August:
    days: 31
    day-length-in-min: 12
    night-length-in-min: 8
  September:
    days: 30
    day-length-in-min: 11
    night-length-in-min: 9
  October:
    days: 31
    day-length-in-min: 10
    night-length-in-min: 10
  November:
    days: 30
    day-length-in-min: 9
    night-length-in-min: 11
  December:
    days: 31
    day-length-in-min: 8
    night-length-in-min: 12

Months and days of the week

The name of the months can directly be changed in the "months:" list in the calendar.yml. There is no fixed amount of months: you could also configure it to only have 4 months (winter, spring, summer and fall) or anything you want. The same for days of the week, a week does not have to be 7 days. Make sure to also update the names of the months in the seasons start if you change their names.

Synchronizing with real time

Setting sync-time-with-real-world to true will force the calendar system to use your computer's time instead of Minecraft time. This means that the season, date and time will match your actual time. Minecraft days will be 24 hours, it will be daytime when it is actually daytime and night when it is actually night. You can optionally only sync the date and season and not the world time by setting modify-daynight-length in the config.yml to false.

If your server is hosted somewhere else and you want the plugin to use a different timezone, you can change time-sync-timezone to the correct one. It accepted locations (like America/Los_Angeles) or offsets of GMT (GMT+5).

If you want to offset the synced world time slightly you can use time-sync-offset. This option accepts Minecraft time (one day is 24000) and the value you enter gets added on top of the time RealisticSeasons calculated.

Synchronizing time of multiple worlds

If you aren't using sync-time-with-real-world and your server has multiple overworlds with seasons enabled, using synced-worlds is recommended. This makes sure all worlds have exactly the same date, time and season. Perfect for servers with for example a lobby world or a shop world. Simply add the names of the worlds that you want to be synchronized to synced-worlds list.

American date format

The date will be displayed as mm/dd/yyyy instead of dd/mm/yyyy if you set american-date-format to true.

Custom Events

Default custom-events.yml file:

custom-events:
   dated-events:
      october-event-example:
         enabled: false
         name: "&6Spooky October"
         display-event: true
         times:
            event-start:
               date: 1/10
            event-stop:
               date: 1/11
         commands:
            start:
               - "&aOctober has started, monsters are becoming stronger and stronger.."
               - "/difficulty hard"
            stop:
               - "/difficulty normal"
   weekly-events:
     safe-sunday-example:
         enabled: false
         name: "&aSafe Sunday"
         display-event: true
         day: Sunday
         commands:
            start:
               - "&6It is now &7Sunday %day%/%month%/%year%. &6Time for a break, dying isn't dangerous for the day"
               - "/gamerule keepInventory true"
            stop:
               - "/gamerule keepInventory false"
   daily-events:
      daily-message-example:
         enabled: false
         commands:
            - "&3Midnight has passed, &f%weekday%, %month_asname% %day%, year %year%&3 has started"
            - "&3Current season: &f%season%"

This file allows you to create as many planned events as you want. These events can be daily, weekly or on specific dates. You can send messages to the player or run commands as the console (include a '/' before the command) when the event starts and stops. Possible placeholders in commands are %day%, %month%, %month_asname%, %year%, %weekday%, %season%, %world%. All external placeholders by PlaceHolderAPI are also supported.

The dates in dated events can be: dd/mm/yyyy or mm/dd/yyyy if American date format is enabled in the calendar.yml. Not including a year makes the event run every year (see october-event-example). You can also enter only a day ("date: 5"), this will make the event run every month between the specified days.

Active events can be viewed by the user through /season or the placeholder %rs_active_events%. This can be disabled separately for each event with "display-event". The "name" field will be used to display it. Colour codes can also be used.

Last updated