Date System
タイムラインは、生の日付カウンターの感覚を、設定可能なカレンダーと毎日の画面上の日付トーストに置き換えます。
TLDR
- クライアントが新しいゲーム内の日を検出すると、トーストが表示されます。
- カレンダーの計算はサーバー設定 (月名、略称、年の接尾語、月ごとの日数) に基づいて行われます。
- 表示される年は UI テキスト内で 1 から始まります ("年 1"、"年 2"、...)。
- 設定はサーバーからクライアントに同期され、実行時に更新できます。

日付の計算方法
タイムラインは世界のゲーム時間を日のインデックスに変換し、それを次のようにマッピングします。
- 月の日
- 月のインデックス/名前
- 表示年
コア定数/入力:
- "1 日あたりのティック数": 24000
daysPerMonth: 設定可能 (1..365)monthNames: 設定可能なリスト (>= 1月)
最終的なユーザー向けフォーマットでは、次の形状のローカリゼーションが使用されます。
<月> の <n> 日、<年> <サフィックス>
カレンダー設定 (サーバー)
「カレンダー」の下の主要なサーバー側オプション:
月名monthAbbreviations(MonthName=Abbrev行)年のサフィックス- "月あたりの日数"
カスタムフォントを使用- "SereneSeasons を使用"
シーズン月
DEEP DIVE: フォールバックの略語
月の略語が見つからないか無効な場合、タイムラインは各月名の最初の 3 文字に戻ります。
トーストフォント (クライアント)
クライアント構成は以下をサポートします。
- "バニラ"
ゴシック12ゴシック24
これは表示のみを変更し、基礎となる日付の計算は変更しません。
同期とホットリロードの動作
- サーバーはアクティブなカレンダー設定を定期的にハッシュします。
- ハッシュが変更されると、更新された設定が接続されているプレーヤーにブロードキャストされます。
- クライアント キャッシュは新しい定義に置き換えられ、レンダリングにすぐに使用されます。
表示年のニュアンス
一部のクラスでは内部カレンダーの計算には 0 から始まるルートがありますが、UI/API の日付メッセージでは意図的に年が 1 から始まる (yearIndex + 1) として表示されます。
このプロジェクトを支援
このWikiとModが気に入りましたか?
ご支援いただくことで、機能開発、ドキュメント整備、アップデート継続の助けになります。