콘텐츠로 이동

BuzzBuild-NpcDialog — 개요

BuzzBuild-NpcDialog는 Paper 서버에서 대화를 판정하고 Fabric 클라이언트에 이름표·대사·선택지를 표시하는 대화 시스템입니다. 운영자는 YAML로 대화를 작성하고, 기능 담당자는 서버 API로 교환·상점·던전 메뉴를 연결합니다.

  • 한국어 폰트와 타이핑 효과를 사용하는 대화창.
  • 긴 대사의 줄바꿈·내부 페이지, 한 번에 최대 3개씩 표시하는 선택지.
  • 페이지 이동, 다른 대화로 이동, 조건별 선택지와 자동 분기.
  • 반복 대화와 플레이어별 1회 완료 기록.
  • Citizens·MythicMobs 바인딩과 실제 NPC 엔티티를 전달하는 API.
  • 서버의 거리·조건 재검사, 텔레포트·사망·접속 종료·NPC 소멸에 따른 취소.
  • 일회용 요청 토큰으로 동일 선택 요청의 중복 실행 차단.
  • 다른 기능의 조건·액션 콜백 연결. 가격·거래·입장·보상 처리는 각 담당 기능의 책임입니다.

NPC 생성·위치 배치, 교환 목록, 상점 가격, 던전 보상은 제공하지 않습니다.

다음은 현재 소스의 고정 버전입니다. 다른 버전의 호환성을 보장하는 목록은 아닙니다.

항목소스에서 확인한 값
플러그인·모드 버전0.1.0
Minecraft26.1.2
Java25
서버Paper, 컴파일 API 26.1.2.build.69-stable
서버 메타데이터api-version: '26.1.2'
클라이언트Fabric, environment: client
Fabric Loader0.19.3
Fabric API0.155.2+26.1.2
개발 빌드Gradle 9.5.0, Fabric Loom 1.17.8

Paper JAR과 Fabric JAR은 역할이 다릅니다. 현재 대화 UI는 Fabric 모드가 필요하며 바닐라 클라이언트용 UI 대체 구현은 없습니다.

대상필수선택
Paper 서버BuzzBuild-FrameworkCitizens, MythicMobs
Fabric 클라이언트Fabric Loader, Fabric API, BuzzBuild-Framework Fabric 모드별도 선택 의존성 등록 없음
다른 기능 연결해당 기능의 서버 플러그인과 등록된 조건·액션 또는 실행 가능한 명령NPC 직접 연결 API

Paper는 Framework를 depend, Citizens·MythicMobs를 softdepend로 선언합니다. Fabric 메타데이터에도 Framework 의존성이 있으며, 실제 코드가 Framework 메시징 버스를 사용합니다. Paper/Fabric은 같은 요청 토큰 프로토콜의 배포본을 사용해야 합니다.

  • 설치: 서버·클라이언트 설치와 적용 절차.
  • 명령어·권한: 관리자 명령과 NPC 이용 권한.
  • 설정: YAML 키·기본값·조건·액션.
  • 사용법: 대화 작성, NPC 및 기능 연결.
  • 문제 해결: 로드 실패, 조건과 미지원 기능.

2026-10-05 현재 작업 트리의 Gradle·메타데이터·실행 코드를 확인했습니다. 이전 작업에서 전체 Gradle 빌드와 서버 단위 테스트 23개가 통과했습니다.

로컬 시연에서 Paper 26.1.2 build 74와 Fabric 클라이언트 사이의 대화 전송·한국어 표시·타이핑 종료·1280×720/GUI 배율 2의 배치·스크롤 선택 변경을 확인했습니다. 모든 환경에서의 검증을 뜻하지 않습니다. 직접 클릭·모든 해상도·사운드·키 재설정·상태 효과 복구·실제 Citizens/MythicMobs 상호작용·교환/상점/던전 거래의 게임 내 동작은 미검증입니다.