Timeline

Configuration

Timeline has both server-authoritative and client-only configuration.

TLDR
  • Server config controls calendar, custom goals, retroactive import, and timeline entity overrides.
  • Client config controls day-toast font only.
  • Most server settings are hot-readable, with calendar settings actively broadcast when changed.

Server Config (rpgtimeline-server.toml)

Main sections:

  • calendar
  • chronicle

Calendar keys

  • monthNames
  • monthAbbreviations
  • yearSuffix
  • daysPerMonth
  • useCustomFont
  • useSereneSeasons
  • seasonMonths

Chronicle keys

  • retroactiveAdvancementImportEnabled
  • retroactiveAdvancementImportIncludeRecipes
  • retroactiveAdvancementImportMapByRealDays
  • customGoals
  • eventTimeframes

Client Config

Client-side key:

  • calendar.dayToastFont: VANILLA, GOTHIC12, or GOTHIC24

Example (Conceptual)

JSON
{
  "calendar": {
    "monthNames": ["Dawnroot", "Blossomwake", "Greengale", "Suncrest"],
    "yearSuffix": "A.N.",
    "daysPerMonth": 28,
    "useSereneSeasons": true
  },
  "chronicle": {
    "retroactiveAdvancementImportEnabled": true,
    "customGoals": "break_block|minecraft:stone|1&100&1000",
    "eventTimeframes": "priority=100;days=4;layer=entity;render=entity;type=advancement;id=minecraft:end/kill_dragon;entity=minecraft:ender_dragon"
  }
}

Hot Reload Notes

  • Calendar settings are hashed server-side and pushed to clients when changed.
  • Custom goals and event-timeframe rules are parsed from current config text and refreshed when their source text hash changes.
  • New behavior is applied on next relevant sync/render cycle.
DEEP DIVE: what is not instant

Retroactive advancement import runs at server startup. Changing retroactive import flags later will not replay previous startup import logic until next server start.

Timeframe rule scope

Current timeframe rule parser supports entity-render overrides (render=entity) for configured matches. Invalid rule lines are skipped safely.

Support This Project

Like this wiki and these mods?

Every bit of support helps me keep building features, writing docs, and shipping updates.

Back to top