API 레퍼런스
이 섹션의 패키지별 페이지는 ./gradlew apiReference로 소스 코드의 Javadoc에서 생성합니다. 각 페이지에는 패키지의 모든 공개 타입과 메서드의 시그니처, 설명, 매개변수, 반환값, 예외가 실려 있습니다.
- 설명은 코드에 적힌 그대로 영어입니다.
- 모든 API는
PREVIEW등급이라 버전 사이에 바뀔 수 있습니다. - 모든 타입과 메서드에 그것이 추가된 릴리스가 있습니다(추가된 버전).
- 생성된 페이지는 직접 고치지 않습니다. 소스의 Javadoc을 고친 뒤 페이지를 다시 생성하세요.
모든 함수는 모든 생성자와 메서드를 한 표에, 릴리스별 추가 API는 릴리스마다 추가된 것을 모았습니다.
영역별 사용법과 예제는 Native API에, 안정성 등급은 API 안정성에 있습니다.
패키지 목록
모든 패키지는 dev.polymodloader.api 아래에 있으며, 아래에는 그 뒤쪽 이름만 적었습니다. 묶음은 사이드바와 같습니다.
기본
| 패키지 | 내용 |
|---|---|
| stability | 안정성 등급 애너테이션 @ApiStability와 등급 StabilityLevel |
| runtime | Poly 모드 로더가 실행되는 Minecraft 프로세스의 종류(GameSide) |
| lifecycle | 모드 엔트리포인트(CommonModInitializer, ClientModInitializer, DedicatedServerModInitializer)와 ModContext |
콘텐츠
| 패키지 | 내용 |
|---|---|
| content | 콘텐츠 선언(ContentRegistrar), 창작 탭, 사운드, 엔티티 데이터 키, 발전 과제 트리거 |
| content.block | 블록 정의·동작·모양·사운드 |
| content.block.entity | 블록 엔티티 정의와 틱, 칸 배치 메뉴(MenuLayout) |
| content.block.state | 블록 상태 속성(BlockProperty)과 상태 스냅샷(BlockStateView) |
| content.effect | 상태 효과 정의와 동작 |
| content.entity | 몹·투사체 정의, AI 목표, 이동·탑승, 자연 스폰 |
| content.entity.model | 몹 상자 모델, 부품 애니메이션, 키프레임 애니메이션 |
| content.item | 아이템·음식 정의, 아이템 데이터 컴포넌트 |
| content.particle | 파티클 종류 정의 |
| content.rule | 게임 규칙 키와 분류 |
이벤트
| 패키지 | 내용 |
|---|---|
| event | 이벤트 키(EventKey)와 리스너 등록(EventRegistry) |
| event.block | 블록 이벤트(파괴) |
| event.entity | 살아 있는 엔티티 이벤트(피해 허용·수정, 사망) |
| event.player | 플레이어 접속 이벤트(접속 확인, 접속, 퇴장) |
| event.server | 서버 생명주기 이벤트와 ServerView |
| event.world | 차원 이벤트(준비, 청크 로드·언로드) |
월드와 엔티티
| 패키지 | 내용 |
|---|---|
| world | 블록 좌표·방향, WorldView, 월드 저장소(StoredData) |
| worldgen | 코드 바이옴, 지형 생성기, 코드 배치 기능, 노이즈 함수, 코드 구조물 |
| entity | 엔티티·살아 있는 엔티티·몹·플레이어 뷰와 피해 정보 |
| inventory | 인벤토리 뷰와 아이템 스택(스냅샷, 실제 스택 참조) |
서버와 데이터
| 패키지 | 내용 |
|---|---|
| command | 서버 명령어 트리, 인수 형식, 실행 문맥 |
| permission | 권한 노드와 권한 공급자 |
| network | 페이로드 채널·코덱, 접속 준비 단계의 교환 |
| data | 월드와 함께 저장되는 데이터 트리(DataTree)와 마이그레이션 |
| resource | 리소스 ID와 데이터·에셋 리로드 리스너 |
클라이언트
| 패키지 | 내용 |
|---|---|
| client | 키 바인딩, HUD, 모드 화면, 월드·블록 엔티티 그리기, 셰이더 파이프라인, 동적 텍스처, 클라이언트 이벤트 |
시스템과 도구
| 패키지 | 내용 |
|---|---|
| system | 교체 가능한 시스템의 계약(SystemId, SystemProvider, SystemLookup) |
| system.brand | 시스템 poly:game_brand(GameBrandSystem) |
| devtools.gametest | 게임 테스트 등록, 실행 중인 테스트, 테스트 공간(TestArea) |
페이지 생성
패키지 페이지는 저장소의 tools:api-reference 모듈이 만듭니다. 저장소 루트에서 ./gradlew apiReference를 실행하면, 공개 API 모듈(poly-runtime-api, poly-system-api, poly-event-api, poly-game-api, poly-lifecycle-api)의 소스를 읽어 이 폴더(site/docs/api-reference/)에 패키지마다 페이지를 하나씩 씁니다. 이 개요 페이지(index.md)만 손으로 작성합니다.