Timeline

Date System

타임라인은 원시 날짜 카운터의 느낌을 구성 가능한 달력과 일일 화면 날짜 알림으로 대체합니다.

TLDR
  • 클라이언트가 새로운 게임 내 날짜를 감지하면 토스트가 나타납니다.
  • 달력 계산은 서버 설정(월 이름, 약어, 연도 접미사, 월별 날짜)을 기반으로 합니다.
  • 표시되는 연도는 UI 텍스트(연도 1, 연도 2, ...)에서 1 기반입니다.
  • 설정은 서버에서 클라이언트로 동기화되며 런타임 중에 업데이트될 수 있습니다.
게임 내에서 장식이 보이는 일일 날짜 토스트.

날짜 계산 방법

타임라인은 세계 게임 시간을 일일 인덱스로 변환한 후 다음과 같이 매핑합니다.

  • 달의 일
  • 월 인덱스/이름
  • 표시 연도

핵심 상수/입력:

  • ticksPerDay: 24000
  • daysPerMonth: 구성 가능(1..365)
  • monthNames: 구성 가능한 목록(>= 1 월)

최종 사용자 대상 형식은 다음과 같은 형태의 현지화를 사용합니다.

<월>의 <n>일, <연도> <접미사>

달력 구성(서버)

calendar 아래의 주요 서버측 옵션:

  • 월 이름
  • monthAbbrevations(MonthName=Abbrev 행)
  • 연도접미사
  • daysPerMonth
  • 사용자 정의 글꼴 사용
  • useSereneSeasons
  • 시즌월
심층 분석: 약어 대체

월 약어가 누락되거나 유효하지 않은 경우 타임라인은 각 월 이름의 처음 3글자로 대체됩니다.

토스트 글꼴(클라이언트)

클라이언트 구성은 다음을 지원합니다.

  • '바닐라'
  • 고딕12
  • '고딕24'

이는 기본 날짜 계산이 아닌 표시만 변경합니다.

동기화 및 핫 리로드 동작

  • 서버는 주기적으로 활성 달력 설정을 해시합니다.
  • 해시가 변경되면 연결된 플레이어에게 업데이트된 설정을 브로드캐스트합니다.
  • 클라이언트 캐시는 새 정의로 대체되고 렌더링에 즉시 사용됩니다.
디스플레이 연도 뉘앙스

내부 달력 수학에는 일부 클래스의 0 기반 루트가 있지만 UI/API 날짜 메시지는 의도적으로 연도를 1 기반(yearIndex + 1)으로 표시합니다.

이 프로젝트 후원

이 위키와 모드가 마음에 드시나요?

여러분의 후원은 기능 개발, 문서 작성, 업데이트 지속에 큰 도움이 됩니다.

맨 위로