- Java 코드를 Kotlin으로 완전 변환 - README.md 작성 - 메인 README.md에 IconExporter 추가 - Kotlin for Forge 의존성 추가
3.3 KiB
3.3 KiB
🖼️ IconExporter
마인크래프트 아이템/블록 아이콘을 PNG 파일로 추출하는 클라이언트 전용 NeoForge 모드입니다.
✨ 주요 기능
- 🎨 고품질 아이콘 추출 - 게임 내 실제 렌더링과 동일한 품질
- 📦 모드 아이템 지원 - 바닐라 + 설치된 모든 모드 아이템 추출
- ⚡ 대량 추출 - 틱 기반 큐 시스템으로 게임 프리즈 없이 대량 처리
- 🖼️ 투명 배경 - PNG 알파 채널 지원
- 📏 크기 조절 - 16x16 ~ 512x512 커스텀 크기
💻 사용법
커맨드 목록
| 커맨드 | 설명 |
|---|---|
/iconexport all |
모든 아이템 추출 |
/iconexport mod <modid> |
특정 모드 아이템만 추출 |
/iconexport id <namespace:item> |
단일 아이템 추출 |
/iconexport size <16-512> |
아이콘 크기 설정 (기본: 64) |
/iconexport overwrite <true/false> |
덮어쓰기 설정 |
/iconexport listmods |
등록된 모드 목록 확인 |
/iconexport status |
현재 상태 확인 |
/iconexport cancel |
진행 중인 작업 취소 |
예시
# Create 모드 아이템 추출 (64x64)
/iconexport mod create
# 128x128 크기로 변경 후 바닐라 아이템 추출
/iconexport size 128
/iconexport mod minecraft
📁 출력 구조
추출된 아이콘은 .minecraft/icons/ 폴더에 저장됩니다.
.minecraft/
└── icons/
├── minecraft/
│ ├── diamond.png
│ ├── iron_ingot.png
│ └── ...
└── create/
├── mechanical_press.png
├── brass_ingot.png
└── ...
🛠️ 기술 스택
| 기술 | 설명 |
|---|---|
| NeoForge | Minecraft 모딩 플랫폼 |
| Kotlin | 주 개발 언어 |
| Kotlin for Forge | NeoForge Kotlin 지원 |
| FBO Rendering | 오프스크린 렌더링 |
📁 구조
IconExporter/
├── src/main/
│ ├── kotlin/com/beemer/iconexporter/
│ │ ├── command/ # 커맨드 처리
│ │ ├── export/ # 추출 관리자
│ │ ├── render/ # FBO 렌더러
│ │ └── IconExporter.kt # 메인 모드
│ └── resources/
│ └── META-INF/ # 모드 메타데이터
└── build.gradle
⚠️ 주의사항
- 클라이언트 전용 - 서버에서는 동작하지 않습니다
- 월드 필요 - 싱글플레이어 월드에 접속한 상태에서 사용해야 합니다
- 렌더링 부하 - 대량 추출 시 일시적인 FPS 저하가 있을 수 있습니다
🚀 빌드
./gradlew build
빌드된 JAR: build/libs/iconexporter-1.0.0.jar