Skip to content

Persistence KO

wjddusrb03 edited this page Mar 29, 2026 · 1 revision

영속성

DisplayAPI는 디스플레이를 YAML로 저장하여 서버 재시작 후에도 유지할 수 있습니다.

사용법

DisplayAPI.text(location)
    .text(Component.text("재시작 후에도 유지!"))
    .persistent(true)
    .id("my-permanent-hologram")
    .spawn();

동작 원리

  1. .persistent(true)로 표시된 디스플레이는 PersistenceManager가 추적
  2. 서버 종료 또는 /dapi saveplugins/DisplayAPI/displays.yml에 저장
  3. 서버 시작 시 영속 디스플레이가 자동 복원
  4. 자동 저장이 주기적으로 실행됨 (config.yml에서 설정 가능)

저장되는 속성

  • 위치 (월드, x, y, z)
  • 디스플레이 타입 (text, block, item)
  • ID
  • 빌보드 모드
  • 크기 및 위치 오프셋
  • 발광 색상 및 발광 상태
  • 밝기
  • 그림자 반경 및 강도
  • 텍스트 내용 (GsonComponentSerializer로 직렬화)
  • 텍스트 투명도, 그림자, 투시, 정렬
  • 배경색
  • 블록 타입 (Material)
  • 아이템 타입 (Material)

저장되지 않는 것

  • 플레이어별 가시성 (뷰어 목록)
  • 애니메이션
  • 인터랙티브 클릭 핸들러
  • 팔로우 대상

설정

# plugins/DisplayAPI/config.yml
auto-save-interval: 6000  # 틱 (6000 = 5분)

명령어

/dapi save       # 수동 저장
/dapi list       # 영속 디스플레이에 [P] 표시
/dapi remove id  # 제거 및 저장 파일에서 삭제

모범 사례

  • 영속 디스플레이에는 항상 의미 있는 .id()를 설정하여 나중에 찾을 수 있게 하세요
  • .persistent(true)는 영구 설치물(표지판, 홀로그램)에만 사용하고, 임시 효과에는 사용하지 마세요
  • 애니메이션은 서버 재시작 후 다시 적용해야 합니다 (저장되지 않음)

Clone this wiki locally