Timeline

Data Storage

A linha do tempo persiste no estado do Chronicle usando SavedData mundial e sincroniza visualizações de tempo de execução por meio de cargas de rede.

TLDR
  • ID de dados salvos: rpgtimeline_chronicle
  • Armazena eventos do Chronicle + mapa de progresso por meta
  • O cliente recebe instantâneos da linha do tempo/Hall por meio da sincronização de carga útil

Dados persistentes do servidor

Lojas Chronicle SavedData:

  • lista Events
  • Mapa GoalProgress

Cada registro de evento inclui:

  • Id
  • Type (ADVANCEMENT, WORLD_FIRST, ADMIN_NOTE tipos de saída em visualizações)
  • Scope (SERVER / PERSONAL)
  • DayIndex
  • Title
  • Details
  • ActorName
  • ActorUuid
  • SourceId
  • IconItemId

Forma conceitual do evento:

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

Modelo de sincronização de rede

Grupos de carga primária:

  • sincronização de calendário/configurações
  • sincronização da linha do tempo da crônica (servidor + pessoal + prazos)
  • Sincronização do Hall of Fame e sincronização de detalhes por jogador

O cliente armazena em cache essas cargas e renderiza sem consultar novamente cada quadro.

Nota do comando de depuração

Um comando injetor de evento sintético existe na origem (/rpgtimeline_debug ...), mas está desabilitado por padrão (ENABLED = false).

DEEP DIVE: caminho de armazenamento

O objeto SavedData é anexado ao armazenamento de dados mundial em rpgtimeline_chronicle (serializado em arquivos de dados mundiais). Trate isso como o estado mundial, não como a configuração do cliente por jogador.

Apoie este projeto

Gostou desta wiki e destes mods?

Cada apoio ajuda a continuar criando recursos, escrevendo documentacao e lancando atualizacoes.

Voltar ao topo