Data Storage
Timeline persists Chronicle state using world SavedData and synchronizes runtime views via network payloads.
TLDR
- SavedData id:
rpgtimeline_chronicle - Stores Chronicle events + per-goal progress map
- Client receives timeline/Hall snapshots through payload sync
Persistent Server Data
Chronicle SavedData stores:
EventslistGoalProgressmap
Each event record includes:
IdType(ADVANCEMENT,WORLD_FIRST,ADMIN_NOTEoutput types in views)Scope(SERVER/PERSONAL)DayIndexTitleDetailsActorNameActorUuidSourceIdIconItemId
Conceptual event shape:
{
"Id": "uuid-string",
"Type": "ADVANCEMENT",
"Scope": "PERSONAL",
"DayIndex": 742,
"Title": "...",
"Details": "...",
"ActorName": "PlayerName",
"ActorUuid": "player-uuid",
"SourceId": "minecraft:end/kill_dragon",
"IconItemId": "minecraft:dragon_egg"
}Network Sync Model
Primary payload groups:
- calendar/settings sync
- chronicle timeline sync (server + personal + timeframes)
- Hall of Fame sync and per-player detail sync
Client caches these payloads and renders without re-querying every frame.
Debug Command Note
A synthetic event injector command exists in source (/rpgtimeline_debug ...) but is disabled by default (ENABLED = false).
DEEP DIVE: storage path
The SavedData object is attached to overworld data storage under rpgtimeline_chronicle (serialized in world data files). Treat this as world state, not per-player client config.
Support This Project
Like this wiki and these mods?
Every bit of support helps me keep building features, writing docs, and shipping updates.