콘텐츠로 이동

BuzzBuild-Chat — 개요

BuzzBuild-Chat은 Paper 서버 플러그인과 Fabric 클라이언트 모드로 구성됩니다. 서버는 귓속말과 분류용 마커가 붙은 메시지를 보내고, 클라이언트는 채팅을 탭으로 분류해 표시합니다. 한글 입력·검색 코드는 클라이언트에 포함되어 있습니다.

구성소스에서 확인한 기능
Paper온라인 플레이어 간 귓속말, 업적·시스템 분류 메시지, 설정 다시 읽기
Fabric 채팅전체·일반·귓속말·도전과제·시스템 탭, 패널 이동·크기 조절·최소화, 스크롤
Fabric 귓속말받는 사람 입력과 온라인 이름 추천, /귓·/답 입력 단축어, 표시 색상·알림음
Fabric 설정 화면배경 불투명도, 표시 유지 시간, 귓속말 색상, 탭 순서 조절
한글 입력OS IME 조합 처리, 텍스트 입력란의 F6 강제 두벌식 입력, Windows 물리 키 입력 복구
한글 검색검색 색인에 초성 추가, 두벌식 자판 변환 검색, 다중 검색어 보조 처리, 명령어 추천 보정
개발 연동Framework 서비스 등록, ChatApi, chat / mark 메시지 처리

achievement 마커와 advancement 분류는 다릅니다. 현재 별도 업적 탭은 표시하지 않으며, achievement 메시지는 전체 탭에서 확인합니다. 시스템 탭은 도전과제 분류도 함께 표시합니다.

메시지 목록은 클라이언트 메모리에 보관합니다. Chat 자체의 DB 설정, 영구 채팅 기록 저장, 오프라인 귓속말 기능은 없습니다.

현재 소스 버전은 0.1.4입니다. 빌드 고정값과 로더 요구 조건을 구분하면 다음과 같습니다.

항목확인값
Minecraft26.1.2
Java빌드 도구 체인·컴파일 대상 25; Fabric 요구 조건 >=25
서버Paper, api-version: 26.1.2
Paper 빌드 API26.1.2.build.69-stable
클라이언트Fabric 전용, environment: client
Fabric Loader빌드 0.19.3, 메타데이터 >=0.19.3
Fabric API빌드 0.155.2+26.1.2, 메타데이터상 필수

Forge·NeoForge용 배포물이나 Folia 지원 선언은 확인되지 않았습니다. Windows 물리 키 복구 코드는 플랫폼 전용이며, 다른 OS에서 같은 동작을 보장하지 않습니다.

구분항목조건
서버 필수BuzzBuild-Framework Paperdepend에 선언. PaperMessagingBus, FeatureRegistry 서비스 필요
클라이언트 필수BuzzBuild-Framework Fabric모드 ID buzzbuild_framework 필수
클라이언트 필수Fabric API모드 ID fabric-api 필수
빌드 참조Framework 0.1.0현재 Gradle 컴파일 참조 버전. 모든 Framework 버전과의 호환을 뜻하지 않음
선택 연동Framework 표시명 제공 기능PaperIdentities 조회 결과 사용. 없으면 로그인 이름으로 대체

별도 선택 의존 플러그인은 메타데이터에 선언되어 있지 않습니다. 다른 플러그인이 ChatApi를 사용할 수 있지만, 특정 업적 플러그인 설치만으로 자동 연결된다고 보장하지 않습니다.

한글 관련 코드는 Hangul의 MIT 라이선스 코드를 이식한 구성입니다. Hangul을 따로 설치할 필요가 없습니다. Fabric 메타데이터는 imblocker, koreanpatch, hangul, hangeul의 모든 버전과 충돌한다고 선언합니다. KoreanPatch/BlazeSDL 병용을 설치 전제로 삼지 않습니다.

  • 설치: 양쪽 설치 파일과 적용 절차
  • 명령어·권한: 서버 명령어와 클라이언트 단축어
  • 설정: YAML·JSON 키와 기본값
  • 사용법: 채팅·귓속말·분류 메시지 사용 절차
  • 문제 해결: 한글 조합·분류·설정 문제 점검

2026-10-05 기준 Gradle, 메타데이터, 명령 실행·권한 검사, 설정 리소스, 클라이언트 입력·표시 및 서비스 연동 코드를 확인했습니다. 현재 작업 트리의 구현을 기준으로 작성했으며 게임 내 동작은 미검증입니다. 한글 조합 표시 문제가 해결되었다는 검증 결과를 뜻하지 않습니다.