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 :
IdType(ADVANCEMENT,WORLD_FIRST,ADMIN_NOTEtypes de sortie dans les vues)Scope(SERVER/PERSONAL)DayIndexTitleDetailsActorNameActorUuidSourceIdIconItemId
Forme conceptuelle de l'événement :
{
"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.