Timeline

Retroactive Import

La importación retroactiva permite que la línea de tiempo rellene las entradas de la crónica de los archivos de avance del jugador en mundos existentes.

TLDR
  • Se ejecuta una vez al iniciar el servidor (cuando está habilitado).
  • Escanea world/advancements/*.json.
  • Importaciones completadas, avances visibles aún no presentes.
  • Opcionalmente puede incluir avances de recetas.

Cómo funciona

Al iniciar el servidor:

  1. La línea de tiempo ubica los archivos JSON de avance del jugador.
  2. Para cada archivo de reproductor, verifica los criterios completados.
  3. Resuelve avances visualizables coincidentes.
  4. Escribe eventos importados en Chronicle SavedData.
  5. Transmite Crónica actualizada + Salón de la Fama si se importó algo.

Seguridad duplicada

La importación es idempotente según (playerUuid, sourceId):

  • si el par ya existe en los datos de Chronicle, se omite
  • las startups repetidas no siguen duplicando las mismas entradas históricas

Modos de mapeo diurno

retroactiveAdvancementImportMapByRealDays controla la ubicación de la fecha:

  • true: asigna la edad de finalización del reloj de pared al desplazamiento del día de la línea de tiempo
  • false: coloca las entradas importadas en el día actual de la línea de tiempo

Manejo de recetas

retroactiveAdvancementImportIncludeRecipes:

  • false (recomendado): ignora namespace:recipes/*
  • true: incluye avances en las recetas, lo que puede añadir mucho ruido
INMERSIÓN PROFUNDA: reserva de marca de tiempo de finalización

La línea de tiempo intenta calcular el tiempo de finalización a partir de los grupos de requisitos de criterios. Si no se puede derivar una marca de tiempo sólida, se recurre a la hora de modificación del archivo para una continuidad de importación más segura.

Fase de ejecución

La importación retroactiva es un proceso de inicio. No observa continuamente los archivos de avance durante el tiempo de ejecución.

Apoya este proyecto

Te gusta esta wiki y estos mods?

Cada apoyo me ayuda a seguir creando funciones, escribiendo documentacion y publicando actualizaciones.

Volver arriba