Timeline

Data Storage

La chronologie conserve l'état de Chronicle à l'aide de World SavedData et synchronise les vues d'exécution via les charges utiles du réseau.

TLDR
  • Identifiant des données sauvegardées : rpgtimeline_chronicle
  • Stocke les événements de la Chronique + carte de progression par objectif
  • Le client reçoit des instantanés de chronologie/Hall via la synchronisation de la charge utile

Données de serveur persistantes

Chronique SavedData stocke :

  • Liste Events
  • Carte GoalProgress

Chaque enregistrement d'événement comprend :

  • Id
  • Type (ADVANCEMENT, WORLD_FIRST, ADMIN_NOTE types de sortie dans les vues)
  • Scope (SERVER / PERSONAL)
  • DayIndex
  • Title
  • Details
  • ActorName
  • ActorUuid
  • SourceId
  • IconItemId

Forme conceptuelle de l'événement :

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

Modèle de synchronisation réseau

Groupes de charges utiles principaux :

  • synchronisation du calendrier/des paramètres
  • synchronisation de la chronologie des chroniques (serveur + personnel + délais)
  • Synchronisation du Temple de la renommée et synchronisation des détails par joueur

Le client met en cache ces charges utiles et effectue le rendu sans réinterroger chaque image.

Note de commande de débogage

Une commande d'injecteur d'événements synthétiques existe dans la source (/rpgtimeline_debug ...) mais est désactivée par défaut (ENABLED = false).

DEEP DIVE : chemin de stockage

L'objet SavedData est attaché au stockage de données mondial sous rpgtimeline_chronicle (sérialisé dans les fichiers de données mondiaux). Traitez cela comme un état mondial et non comme une configuration client par joueur.

Soutenir ce projet

Vous aimez ce wiki et ces mods ?

Chaque soutien m'aide a continuer a creer des fonctionnalites, ecrire la documentation et publier des mises a jour.

Retour en haut