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.

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: 24000daysPerMonth: configurable (1..365)monthNames: lista configurable (>= 1mes)
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:
monthNamesmonthAbbreviations(MonthName=Abbrevlíneas)yearSuffixdaysPerMonthuseCustomFontuseSereneSeasonsseasonMonths
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:
VANILLAGOTHIC12GOTHIC24
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.