Timeline

Date System

La línea de tiempo reemplaza la sensación de un contador de días sin editar con un calendario configurable y un brindis diario en pantalla.

TLDR
  • El brindis aparece cuando el cliente detecta un nuevo día en el juego.
  • Las matemáticas del calendario se basan en la configuración del servidor (nombres de meses, abreviaturas, sufijo de año, días por mes).
  • Los años mostrados están basados ​​en 1 en el texto de la interfaz de usuario (Year 1, Year 2, ...).
  • La configuración se sincroniza desde el servidor a los clientes y puede actualizarse durante el tiempo de ejecución.
Brindis diario por fecha en el juego con adornos visibles.

Cómo se calcula la fecha

La línea de tiempo convierte el tiempo del juego mundial en un índice de días y luego lo asigna a:

  • día del mes
  • índice/nombre del mes
  • mostrar año

Constantes/entradas centrales:

  • ticksPerDay: 24000
  • daysPerMonth: configurable (1..365)
  • monthNames: lista configurable (>= 1 mes)

El formato final orientado al usuario utiliza localización con esta forma:

Day <n> of <Month>, <Year> <Suffix>

Configuración del calendario (servidor)

Opciones clave del lado del servidor en calendar:

  • monthNames
  • monthAbbreviations (MonthName=Abbrev líneas)
  • yearSuffix
  • daysPerMonth
  • useCustomFont
  • useSereneSeasons
  • seasonMonths
INMERSIÓN PROFUNDA: reserva de abreviaturas

Si faltan abreviaturas de meses o no son válidas, la línea de tiempo vuelve a las 3 primeras letras del nombre de cada mes.

Fuente Toast (Cliente)

La configuración del cliente admite:

  • VANILLA
  • GOTHIC12
  • GOTHIC24

Esto solo cambia la presentación, no las matemáticas de fecha subyacentes.

Comportamiento de sincronización y recarga en caliente

  • El servidor actualiza periódicamente la configuración del calendario activo.
  • Si el hash cambia, transmite la configuración actualizada a los jugadores conectados.
  • Los cachés del cliente se reemplazan con la nueva definición y se usan inmediatamente para la representación.
Matiz del año de visualización

Las matemáticas del calendario interno tienen raíces basadas en 0 en algunas clases, pero los mensajes de fecha de UI/API muestran intencionalmente los años basados en 1 (yearIndex + 1).

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