본문으로 건너뛰기
버전: Minecraft 26.2

아직 없는 기능

Native API는 각 영역(콘텐츠, 월드, 엔티티·게임플레이, 클라이언트, 리소스, 네트워크, 명령)마다 기본 경로와 심화 경로를 제공하며, 설계서 §5.3의 항목 중 빠진 것은 없습니다. 아래는 Fabric API·NeoForge와 비교해 남은 차이, 사람의 확인, 검증 범위, 배포·도구에 남은 항목입니다.

Fabric API·NeoForge와 비교해 빠진 Native API​

Fabric이나 NeoForge 모드가 흔히 하는 일을 모두 Native API로 쓸 수 있게 하는 것이 목표입니다. 아래는 아직 남은 주요 항목이며, 호환성 주장이 아니라 계획입니다.

  • 이벤트:
    • 클라이언트가 클릭 결과를 먼저 예측하는 쪽. 상호작용 이벤트는 서버에서만 불립니다.
    • 블록 공격(좌클릭), 취소된 블록 부수기, 플레이어 없이 놓는 블록(디스펜서, 엔더맨).
    • 서버 틱 끝, 월드 틱 시작·끝, 데이터 팩 리로드 끝, 플레이어 틱.
    • 엔티티가 월드를 떠날 때, 그리고 엔티티가 월드에 들어오는 것을 취소하기.
    • 죽음 막기(토템 같은 동작), 피해를 받은 뒤, 드롭 이벤트.
    • 제작, 제련, 모루, 양조, 폭발, 잠자기, 경험치 이벤트.
    • 클라이언트의 화면 열기·닫기, 키·마우스 입력, 이름 붙은 그리기 단계.
  • 콘텐츠와 레지스트리: 도구·갑옷 재료, 사용자 속성(attribute)과 속성 수정자, 유체, 모드 전용 레지스트리, 주민 거래, 연료 값, 퇴비, 불에 타는 정도, 껍질 벗기기·땅 갈기.
  • 태그·데이터·레시피·전리품: 유체·바이옴 태그, 리로드 때의 태그 이벤트, 게임 자체 아이템 컴포넌트 읽기·쓰기, 레시피 조회와 사용자 레시피 종류, 전리품 테이블 수정.
  • 창작 탭과 툴팁: 기존 탭에서 아이템을 넣을 위치 지정, 서식 코드 없이 꾸민 툴팁 줄(색, 번역 키).
  • 클라이언트: 블록·아이템 색 공급자(틴트), 블록 렌더 레이어, 모델 로딩 플러그인, 게임 몹 위의 갑옷·기능 레이어.
  • 그 밖: 동기화와 설정 화면이 있는 타입 지정 설정, 전송 API(면별 아이템·유체·에너지 저장소), 클라이언트 명령어, 더 많은 명령 인자 종류.

지원 예정 로더​

아래 로더는 모두 Poly 모드 로더의 목표에 있습니다. 표에는 로더마다 아직 남은 일을 적었습니다. 호환성 주장이 아니라 계획이며, 지금 실행되는 범위는 호환성에 있습니다.

로더남은 일현재
Fabric (나머지)사람이 화면을 눈으로 확인하는 것, NeoForge 모드와 함께 실행, Forge와 함께일 때 실행되지 않는 Fabric 주입 지점(POLY-COMPAT-138)Verified: Mixin을 쓰는 모드가 26.1·26.2의 클라이언트와 서버에서 실행되고, Forge 모드와 함께도 실행됩니다(26.2 클라이언트에서 140개가 월드에서 플레이·저장·종료. 실제 모드 138개와 테스트 모드 2개). 실제 모드가 쓰는 것 밖의 Fabric Loader 내부 클래스는 제공하지 않습니다(111)
QuiltFabric 브리지 위에 quilt.mod.json 읽기, Quilt Loader API, Quilt Standard Libraries읽지 않습니다. quilt.mod.json만 든 jar는 로드하지 않습니다(POLY-DISCOVERY-002)
NeoForge기본값으로 켜기 위해 남은 것: 클라이언트, 26.1, 묶음 전체, Fabric 모드와 함께 실행(POLY-COMPAT-216)Blocked: 기본적으로 진단한 뒤 빠집니다(POLY-COMPAT-200..205). 기본값이 꺼진 실험 기능(-Dpoly.neoforge=on)으로 NeoForge 자신의 FML을 실행하며, 26.2 서버에서 NeoForge 모드를 로드합니다
Forge실제 Minecraft Launcher로 실행, 모드마다 기능 확인Verified: Poly 모드 로더가 26.1·26.1.2·26.2에서 Forge와 FML을 그대로 실행합니다(Forge)

사람이 확인해야 하는 것​

  • 탈것 조종은 키 입력을 자동화할 수 없으므로 사람이 직접 확인해야 합니다.
  • 화면에 그려진 결과(몹 모델, 블록 엔티티 그리기, 후처리)가 올바르게 보이는지는 사람이 직접 확인해야 합니다. 자동 검증은 실행 경로만 확인합니다.
  • 모드 탭이 있는 창작 화면의 페이지(페이지 버튼, 탭 그림)와 화면에 그려진 아이템 툴팁은 아직 사람이 확인하지 않았습니다. 변환 규칙과 훅은 실제 게임 클래스에 대고 단위 테스트로 확인했습니다.
  • IntelliJ IDEA 안에서의 동작(프로젝트 가져오기, 실행 구성, 중단점)은 아직 사람이 직접 확인하지 않았습니다.

검증 범위​

  • 전용 서버와 별도 클라이언트 사이의 접속은 EULA 동의가 필요해 자동으로 검증하지 못했습니다. 싱글 플레이 통합 서버의 네트워크 왕복만 검증했습니다.

배포와 도구​

  • Poly 모드용 변환: Mixin의 나머지 기능(인자·지역 변수 수정, 지역 변수 캡처, 인터페이스 추가 등). Fabric 모드는 이것을 Mixin 자체로 씁니다. 게임 타입을 쓰는 훅이나 접근 확대한 멤버를 쓰는 모드를 위한 컴파일용 게임 jar(접근 확대 반영).
  • 시작 단계: Game Validation, Runtime Monitoring.
  • 성능: 모드 없이 Poly 모드 로더만 둔 클라이언트 프레임 시간, 할당률, 청크 생성 시간, 다른 로더 모드를 섞은 모드팩, 마이크로벤치마크. 서버 틱 시간과 GC, 힙을 고정한 메모리 비교, 개발용 모드를 넣은 클라이언트 프레임 시간은 측정했습니다(성능 참고).
Buy me a coffee