Spooky season is here. Happy Halloween from Lattice!
Lattice
Docs/LatCalendar

LatCalendar

Fully customizable Advent Calendar to spice up the holidays

No reviews yet

Overview

Module id
advent-calendar
Version
1.0.0
Platforms
foliapaper
Price
$4.99
Authors
Atlantis Services

Install

  1. Install Lattice on a Paper or Folia server, if it is not there yet.
  2. Drop the LatCalendar jar into plugins/Lattice/modules/. It loads straight away.
  3. Put your license key in lattice.yml, then run /lat license refresh.
  4. Edit config/global/advent-calendar/ and apply it with /lat reload advent-calendar.

Commands

Command names and aliases are set in config.yml, so yours may differ. <required> [optional]

Command Description Permission
/advent
also /calendar
Open the advent calendar advent.use
/advent date [door|date|clear]
advent.admin
/advent progress <player>
advent.admin
/advent reset <player> [day]
advent.admin
/advent resetall [confirm]
advent.admin
/advent give <player> <day>
advent.admin

Permissions

Permission Lets a player use
advent.use
/advent
advent.admin
/advent date, /advent progress, /advent reset, /advent resetall, /advent give

Placeholders

Filled in Lattice's own messages, and in any plugin that reads PlaceholderAPI when it is installed.

Placeholder Notes
%advent_day%
%advent_opened%

config.yml

Written to config/global/advent-calendar/config.yml on first start. Edit it, then /lat reload advent-calendar.

# An advent calendar: one door a day, opened from /advent.

# Generated from AdventSettings. Keys you delete return to their default;
# keys that are not in the schema are ignored and reported on load.

# Timezone that decides when a day starts, e.g. Europe/London.
timezone: "UTC"
# Day door 1 opens, as MM-DD. Door N opens N - 1 days later. Repeats every year.
start: "12-01"
# Number of doors, 1 to 54. The menu layout needs at least this many D slots.
doors: 24
# Let players open doors they missed, until the last door's day ends.
catch-up: false
# Given for any door with no entry in rewards.
default-reward:
  # Console commands. {player} is the player's name.
  commands: []
  # Sent to the player as a success line in the server theme. Empty for none.
  message: "<body>You opened door <accent>{day}</accent>!"
  # Sound key, e.g. entity.player.levelup. Empty for none.
  sound: "entity.player.levelup"
  # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
  description:
    - "<aqua>+1 <gold>Advent Gift"
# Rewards by door number, e.g. "24". Replaces defaultReward for that door.
rewards:
  1:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:cookie 16"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+16 Cookies</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+16 <gold>Cookies"
  2:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:snow_block 16"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+16 Snow Blocks</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+16 <gold>Snow Blocks"
  3:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:iron_ingot 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Iron Ingots</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Iron Ingots"
  4:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:sweet_berries 32"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+32 Sweet Berries</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+32 <gold>Sweet Berries"
  5:
    # Console commands. {player} is the player's name.
    commands:
      - "experience add {player} 5 levels"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+5 Levels</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+5 <gold>Levels"
  6:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:gold_ingot 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Gold Ingots</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.firework_rocket.twinkle"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Gold Ingots"
  7:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:cake 1"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+1 Cake</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+1 <gold>Cake"
  8:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:lantern 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Lanterns</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Lanterns"
  9:
    # Console commands. {player} is the player's name.
    commands:
      - "effect give {player} minecraft:speed 600 1"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>10 min Speed II</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>10 min <gold>Speed II"
  10:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:emerald 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Emeralds</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Emeralds"
  11:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:golden_apple 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+2 Golden Apples</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+2 <gold>Golden Apples"
  12:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:diamond 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+2 Diamonds</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.firework_rocket.twinkle"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+2 <gold>Diamonds"
  13:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:spruce_sapling 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Spruce Saplings</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Spruce Saplings"
  14:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:firework_rocket 16"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+16 Firework Rockets</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+16 <gold>Firework Rockets"
  15:
    # Console commands. {player} is the player's name.
    commands:
      - "experience add {player} 10 levels"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+10 Levels</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+10 <gold>Levels"
  16:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:lapis_lazuli 32"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+32 Lapis Lazuli</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+32 <gold>Lapis Lazuli"
  17:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:name_tag 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+2 Name Tags</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+2 <gold>Name Tags"
  18:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:diamond 4"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+4 Diamonds</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.firework_rocket.twinkle"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+4 <gold>Diamonds"
  19:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:experience_bottle 16"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+16 Bottles o' Enchanting</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+16 <gold>Bottles o' Enchanting"
  20:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:ender_pearl 8"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+8 Ender Pearls</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+8 <gold>Ender Pearls"
  21:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:shulker_shell 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+2 Shulker Shells</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+2 <gold>Shulker Shells"
  22:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:enchanted_golden_apple 1"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+1 Enchanted Golden Apple</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+1 <gold>Enchanted Golden Apple"
  23:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:diamond_block 1"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>You opened door <accent>{day}</accent> and got <accent>+1 Diamond Block</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "entity.player.levelup"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+1 <gold>Diamond Block"
  24:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:netherite_ingot 1"
      - "give {player} minecraft:totem_of_undying 1"
      - "tellraw @a [{\"text\":\"★ \",\"color\":\"gold\"},{\"text\":\"{player}\",\"color\":\"yellow\"},{\"text\":\" opened the final door of the Advent Calendar!\",\"color\":\"green\"}]"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>Merry Christmas! You opened the final door and got <accent>+1 Netherite Ingot</accent> and <accent>+1 Totem of Undying</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: "ui.toast.challenge_complete"
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<aqua>+1 <gold>Netherite Ingot"
      - "<aqua>+1 <gold>Totem of Undying"
# Players with this permission also get the premium reward for a door.
premium-permission: "advent.premium"
# Premium rewards by door number. A door with no entry has no premium reward.
premium:
  6:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:diamond 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>Premium bonus: <accent>+2 Diamonds</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: null
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<light_purple>✦ Premium: <aqua>+2 <gold>Diamonds"
  12:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:enchanted_golden_apple 1"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>Premium bonus: <accent>+1 Enchanted Golden Apple</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: null
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<light_purple>✦ Premium: <aqua>+1 <gold>Enchanted Golden Apple"
  18:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:experience_bottle 16"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>Premium bonus: <accent>+16 Bottles o' Enchanting</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: null
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<light_purple>✦ Premium: <aqua>+16 <gold>Bottles o' Enchanting"
  24:
    # Console commands. {player} is the player's name.
    commands:
      - "give {player} minecraft:diamond_block 2"
    # Sent to the player as a success line in the server theme. Empty for none.
    message: "<body>Premium bonus: <accent>+2 Diamond Blocks</accent>."
    # Sound key, e.g. entity.player.levelup. Empty for none.
    sound: null
    # What the reward is, in lines. Shown in the menu where a door's lore has {reward}.
    description:
      - "<light_purple>✦ Premium: <aqua>+2 <gold>Diamond Blocks"
# Language for month names in {date}, as a language tag such as en, de or fr.
locale: "en"
command:
  # Command that opens the calendar. Takes effect on restart.
  name: "advent"
  aliases:
    - "calendar"
  permission: "advent.use"
  # Permission for the admin and testing subcommands: date, progress, reset, resetall, give.
  admin-permission: "advent.admin"
# How the calendar menu looks.
menu:
  # Menu title. {year} is the year the calendar began.
  title: "<gradient:#ff4d4d:#ffd700:#4dff88><bold>Advent Calendar</bold></gradient> <dark_gray>{year}"
  # One line per row, nine characters each, one to six rows.
  # D is a door, filled in order: door 1 is the first D reading left to right, top to bottom.
  # X is a close button (none by default). A space is an empty slot. Any other character is looked up in decorations.
  layout:
    - "rgrgrgrgr"
    - "gDDDDDDDg"
    - "rDDDDDDDr"
    - "gDDDDDDDg"
    - "rgrDDDrgr"
    - "grgrgrgrg"
  # Icons for the other layout characters, keyed by the character.
  decorations:
    r:
      # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
      material: "RED_STAINED_GLASS_PANE"
      # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
      texture: null
      name: " "
      lore: []
      # Enchantment glint.
      glowing: false
    g:
      # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
      material: "LIME_STAINED_GLASS_PANE"
      # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
      texture: null
      name: " "
      lore: []
      # Enchantment glint.
      glowing: false
  close:
    # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
    material: "BARRIER"
    # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
    texture: null
    name: "<red><bold>Close"
    lore:
      - "<gray>See you tomorrow!"
    # Enchantment glint.
    glowing: false
  # Show each door as a stack of its day number, so the calendar reads at a glance.
  day-as-amount: true
  # Door looks by state. Each state is a list: door N uses look (N - 1) mod size, so two looks alternate.
  # In name and lore: {day} is the door number, {date} the day it opens.
  # A lore line that is exactly {reward} or {premium} becomes that door's reward description.
  doors:
    locked:
      - # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
        material: "PLAYER_HEAD"
        # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
        texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjFiYzlkNDJiMDA0MWU4Zjk1Y2I5YjI2NjI4ZmRhZjUwY2QwZTM2ZjdiYjlkNmIzYTRkMmFmMzk0OWRhOTdkNiJ9fX0="
        name: "<gradient:#ff6b6b:#c0392b><bold>{date}"
        lore:
          - "<dark_gray>Advent Reward"
          - ""
          - "<gray>A surprise is waiting..."
          - ""
          - "<red>✘ Unlocks on <white>{date}"
        # Enchantment glint.
        glowing: false
    open:
      - # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
        material: "PLAYER_HEAD"
        # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
        texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmIxZWM3ZGM3NTMwNjFjYTE3NDQyNGVhNDVjZjk0OTBiMzljZDVkY2NhNDc3ZDEzOGE2MDNlNmJlNzU1ZWM3MiJ9fX0="
        name: "<gradient:#7cfc9a:#1ec963><bold>{date}"
        lore:
          - "<dark_gray>Advent Reward"
          - ""
          - "{reward}"
          - "{premium}"
          - ""
          - "<yellow>Click to claim!"
        # Enchantment glint.
        glowing: true
    claimed:
      - # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
        material: "PLAYER_HEAD"
        # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
        texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2FhMDNmODE3MzQxY2FhNTZmYmZjNmQzZjI4MTFhZGI5ODliNjExNzgxMTYyYzEyYWY0YzU4YWYxOGM1M2M3MiJ9fX0="
        name: "<gray>{date}"
        lore:
          - "<dark_gray>Advent Reward"
          - ""
          - "{reward}"
          - "{premium}"
          - ""
          - "<green>✔ Claimed"
        # Enchantment glint.
        glowing: false
    missed:
      - # Item material, e.g. RED_SHULKER_BOX or PLAYER_HEAD.
        material: "PLAYER_HEAD"
        # Head texture when material is PLAYER_HEAD: the base64 value from a head database site.
        texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDY1Y2FhNmFhZWQzNGQyYzQyODUyNWJkZTY2ZWJlZjUyYTdmZmM5ODg3YjUyMzZkMTE5OTY4MDMxNDcxNTU5MyJ9fX0="
        name: "<dark_gray><st>{date}</st>"
        lore:
          - "<dark_gray>Advent Reward"
          - ""
          - "{reward}"
          - "{premium}"
          - ""
          - "<red>✘ Missed"
        # Enchantment glint.
        glowing: false
  # Looks for single doors by number, e.g. "24", over the shared ones.
  door-overrides: {}
  sounds:
    # Played when the menu opens. Empty for none.
    open: "block.chest.open"
    # Played when a click is refused: a locked, missed or claimed door. Empty for none.
    denied: "entity.villager.no"

Messages

Every line players see, in config/global/advent-calendar/messages.yml. Uses MiniMessage formatting.

Show messages.yml (37 lines)
# Player-facing text for advent-calendar.
# Placeholders in {braces} are filled in by the module.
# A key you delete falls back to its built-in default.

already: You already opened that door.
bad-date: '''{date}'' is not a date. Use yyyy-MM-dd or MM-DD, or clear.'
bad-day: '''{day}'' is not a door. Doors are 1 to {doors}.'
busy: Your calendar is still loading. Try again in a moment.
closed: The calendar opens in <accent>{days}</accent> day(s).
date: '{month} {day}{suffix}'
date-cleared: <body>Test date cleared. Today is <accent>{date}</accent>.
date-closed: The calendar is closed on that date. It runs <accent>{first}</accent>
  to <accent>{last}</accent>. Try a door number, e.g. date 5.
date-open: <body>Door <accent>{door}</accent> is open on that date.
date-set: <body>This server now treats today as <accent>{date}</accent> for the calendar,
  until restart or date clear.
date-show: '<body>Today for the calendar: <accent>{date}</accent>, door <accent>{door}</accent>{test}'
date-test: ' <danger>(test date)'
given: <body>Gave door <accent>{day}</accent>'s reward to <accent>{player}</accent>.
  Nothing was recorded.
locked: Door <accent>{day}</accent> opens on <accent>{date}</accent>.
missed: You missed door <accent>{day}</accent>.
no-door: none
not-online: <emphasis>{player}</emphasis> must be online on this server.
not-open: That door cannot be opened right now.
players-only: Only a player can open the calendar.
progress: '<body>Doors opened by <accent>{player}</accent> in {year}: <accent>{doors}</accent>'
reset-all: <body>Reset <accent>{count}</accent> claim(s) for {year}.
reset-all-confirm: This wipes every player's doors for {year}. Add confirm to do it.
reset-player: <body>Reset {what} for <accent>{player}</accent> in {year}.
reset-what-all: every door
reset-what-day: door {day}
suffix-1: st
suffix-2: nd
suffix-3: rd
suffix-other: th
unknown-player: No player called <emphasis>{player}</emphasis> has played here.