Timeline

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が気に入りましたか?

ご支援いただくことで、機能開発、ドキュメント整備、アップデート継続の助けになります。

ページ上部へ