Date System
타임라인은 원시 날짜 카운터의 느낌을 구성 가능한 달력과 일일 화면 날짜 알림으로 대체합니다.
TLDR
- 클라이언트가 새로운 게임 내 날짜를 감지하면 토스트가 나타납니다.
- 달력 계산은 서버 설정(월 이름, 약어, 연도 접미사, 월별 날짜)을 기반으로 합니다.
- 표시되는 연도는 UI 텍스트(
연도 1,연도 2, ...)에서 1 기반입니다. - 설정은 서버에서 클라이언트로 동기화되며 런타임 중에 업데이트될 수 있습니다.

날짜 계산 방법
타임라인은 세계 게임 시간을 일일 인덱스로 변환한 후 다음과 같이 매핑합니다.
- 달의 일
- 월 인덱스/이름
- 표시 연도
핵심 상수/입력:
ticksPerDay: 24000daysPerMonth: 구성 가능(1..365)monthNames: 구성 가능한 목록(>= 1월)
최종 사용자 대상 형식은 다음과 같은 형태의 현지화를 사용합니다.
<월>의 <n>일, <연도> <접미사>
달력 구성(서버)
calendar 아래의 주요 서버측 옵션:
월 이름monthAbbrevations(MonthName=Abbrev행)연도접미사daysPerMonth사용자 정의 글꼴 사용useSereneSeasons시즌월
심층 분석: 약어 대체
월 약어가 누락되거나 유효하지 않은 경우 타임라인은 각 월 이름의 처음 3글자로 대체됩니다.
토스트 글꼴(클라이언트)
클라이언트 구성은 다음을 지원합니다.
- '바닐라'
고딕12- '고딕24'
이는 기본 날짜 계산이 아닌 표시만 변경합니다.
동기화 및 핫 리로드 동작
- 서버는 주기적으로 활성 달력 설정을 해시합니다.
- 해시가 변경되면 연결된 플레이어에게 업데이트된 설정을 브로드캐스트합니다.
- 클라이언트 캐시는 새 정의로 대체되고 렌더링에 즉시 사용됩니다.
디스플레이 연도 뉘앙스
내부 달력 수학에는 일부 클래스의 0 기반 루트가 있지만 UI/API 날짜 메시지는 의도적으로 연도를 1 기반(yearIndex + 1)으로 표시합니다.
이 프로젝트 후원
이 위키와 모드가 마음에 드시나요?
여러분의 후원은 기능 개발, 문서 작성, 업데이트 지속에 큰 도움이 됩니다.