Timeline

Date System

Die Zeitleiste ersetzt das Gefühl eines reinen Tageszählers durch einen konfigurierbaren Kalender und einen täglichen Datumstoast auf dem Bildschirm.

TLDR
  • Der Toast erscheint, wenn der Client einen neuen Spieltag erkennt.
  • Die Kalenderberechnung basiert auf Servereinstellungen (Monatsnamen, Abkürzungen, Jahressuffix, Tage pro Monat).
  • Die angezeigten Jahre basieren im UI-Text auf 1 (Year 1, Year 2, ...).
  • Einstellungen werden vom Server mit den Clients synchronisiert und können während der Laufzeit aktualisiert werden.
Toast zum täglichen Datum im Spiel mit sichtbaren Ornamenten.

Wie das Datum berechnet wird

Timeline wandelt die Weltspielzeit in einen Tagesindex um und ordnet diesen dann zu:

  • Tag des Monats
  • Monatsindex/-name
  • Anzeigejahr

Kernkonstanten/Eingaben:

  • ticksPerDay: 24000
  • daysPerMonth: konfigurierbar (1..365)
  • monthNames: konfigurierbare Liste (>= 1 Monat)

Das endgültige benutzerorientierte Format verwendet die Lokalisierung mit dieser Form:

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

Kalenderkonfiguration (Server)

Wichtige serverseitige Optionen unter calendar:

  • monthNames
  • monthAbbreviations (MonthName=Abbrev Zeilen)
  • yearSuffix
  • daysPerMonth
  • useCustomFont
  • useSereneSeasons
  • seasonMonths
DEEP DIVE: Abkürzung Fallback

Wenn Monatsabkürzungen fehlen oder ungültig sind, greift Timeline auf die ersten drei Buchstaben jedes Monatsnamens zurück.

Toast-Schriftart (Client)

Client-Konfiguration unterstützt:

  • VANILLA
  • GOTHIC12
  • GOTHIC24

Dadurch ändert sich nur die Darstellung, nicht die zugrunde liegende Datumsberechnung.

Synchronisierungs- und Hot-Reload-Verhalten

  • Der Server hasht regelmäßig aktive Kalendereinstellungen.
  • Wenn sich der Hash ändert, werden aktualisierte Einstellungen an verbundene Player gesendet.
  • Client-Caches werden durch die neue Definition ersetzt und sofort zum Rendern verwendet.
Nuance des Anzeigejahres

Die interne Kalenderberechnung hat in einigen Klassen 0-basierte Wurzeln, aber UI/API-Datumsmeldungen zeigen Jahre absichtlich als 1-basiert an (yearIndex + 1).

Dieses Projekt unterstutzen

Gefallt dir dieses Wiki und diese Mods?

Jede Unterstutzung hilft mir, neue Features zu bauen, Dokus zu schreiben und Updates zu liefern.

Nach oben