Timeline

Data Storage

时间线使用世界 SavedData 保留 Chronicle 状态,并通过网络有效负载同步运行时视图。

TLDR
  • 已保存数据 ID:rpgtimeline_chronicle
  • 存储历史事件+每个目标的进度图
  • 客户端通过有效负载同步接收时间线/大厅快照

持久化服务器数据

Chronicle SavedData 存储:

  • Events 列表
  • GoalProgress 地图

每个事件记录包括:

  • Id
  • Type(视图中的ADVANCEMENTWORLD_FIRSTADMIN_NOTE输出类型)
  • Scope (SERVER / PERSONAL)
  • DayIndex
  • Title
  • Details
  • ActorName
  • ActorUuid
  • SourceId
  • IconItemId

概念事件形状:

JSON
{
  "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"
}

网络同步模型

主要负载组:

  • 日历/设置同步
  • 编年史时间线同步(服务器+个人+时间范围)
  • 名人堂同步和每个玩家的详细信息同步

客户端缓存这些有效负载并进行渲染,而无需重新查询每一帧。

调试命令注意事项

源 (/rpgtimeline_debug ...) 中存在合成事件注入器命令,但默认情况下处于禁用状态 (ENABLED = false)。

深入探讨:存储路径

SavedData 对象附加到 rpgtimeline_chronicle 下的世界数据存储(在世界数据文件中序列化)。将此视为世界状态,而不是每个玩家的客户端配置。

支持这个项目

喜欢这个 Wiki 和这些模组吗?

你的每一份支持都能帮助我持续开发新功能、完善文档并发布更新。

返回顶部