Native API 개요
Native API는 Minecraft 26.2용 Poly 모드가 쓰는 API입니다. 모든 API가 PREVIEW 등급이며, Minecraft 타입 없이 poly-lifecycle-api만으로 컴파일됩니다. 게임 버전에 맞춘 구현은 Poly 모드 로더의 게임 계층(poly-game-v26_2)이 맡습니다.
이 섹션에는 영역별로 가장 자주 쓰는 코드와 규칙을 모았습니다. 모든 영역을 한 모드에서 사용하는 전체 예제는 Poly 모드 로더 소스(지금은 비공개)의 examples/native-showcase-mod이며, 이 모드는 실제 게임에서 동작을 검증하는 기준 모드이기도 합니다.
모든 API는 PREVIEW
0.1 계열에는 STABLE API가 없습니다. 첫 공개 API는 사용 경험을 확인하기 전까지 PREVIEW로 두며, 버전 사이에 바뀔 수 있습니다. 등급의 의미는 API 안정성에서 설명합니다.
영역
공통 규칙ID, 선언 시점, 스레드, 서버와 클라이언트생명주기와 스레드시작 순서, 등록 종료, 종료 작업, 콜백별 스레드블록블록 정의, 상태 속성, 상태별 빛, 동작 콜백블록 엔티티와 메뉴데이터, 틱, 인벤토리, 칸 배치 메뉴와 진행 막대아이템아이템, 음식, 데이터 컴포넌트, 실제 스택 참조, 툴팁태그와 창작 탭태그 조회, 코드로 태그에 항목 추가, 모드 전용 창작 탭게임 규칙·사운드·파티클게임 규칙, 사운드, 파티클 종류, 발전 과제 트리거몹과 엔티티몹 정의, 생성 알, 자연 스폰, 투사체AI 목표와 탑승AiGoal, MobView, 이동·탑승몹 모델상자 모델과 부품 애니메이션피해와 상태 효과피해 취소·수정, 사망 이벤트, 상태 효과월드월드 뷰, 저장소, 작업 예약, 청크 강제 로드이벤트모든 이벤트 키와 리스너, 우선순위, 결정 결과, 상호작용 이벤트월드 생성바이옴 기능, 데이터 차원, 코드 바이옴·지형명령어와 권한Brigadier 기반 명령어, 권한 노드와 공급자네트워크와 동기화페이로드 채널, 엔티티 데이터·저장소 동기화클라이언트키 바인딩, HUD, 화면, 그리기리소스·데이터·운영리로드 리스너, 데이터 버전, 백업시스템 교체SystemProvider, 게임 브랜드, 충돌 규칙
패키지
패키지(dev.polymodloader.api.…) | 내용 |
|---|---|
lifecycle | CommonModInitializer, ClientModInitializer, DedicatedServerModInitializer, ModContext |
stability | ApiStability, StabilityLevel — API 안정성 등급 표시 |
runtime | GameSide(CLIENT / DEDICATED_SERVER) |
system, system.brand | SystemId, PolySystem, SystemProvider, SystemContext, SystemLookup, GameBrandSystem — 시스템 교체 |
event, event.server, event.player, event.block, event.entity, event.world, event.interaction | 이벤트 키와 리스너, EventPriority, EventResult — 이벤트 |
content, content.block, content.block.state, content.block.entity, content.item, content.entity, content.entity.model, content.effect, content.rule, content.particle | 콘텐츠 정의 |
world, entity, inventory, data | 월드·엔티티·인벤토리 뷰와 저장 데이터 |
tag | TagKey, TagRegistry, TagView — 태그와 창작 탭 |
worldgen | 월드 생성 |
command, permission | 명령어와 권한 |
network | 페이로드 채널 |
client | 클라이언트 등록, 화면, 그리기 |
resource | ResourceId, 리로드 리스너 |
devtools.gametest | 게임 내 테스트 |