| .. | ||
| gradle/wrapper | ||
| src/main | ||
| .gitignore | ||
| build.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle | ||
🖼️ 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/ 폴더에 blocks/items로 구분되어 저장됩니다.
완료 후 자동으로 ZIP 파일이 생성됩니다.
.minecraft/
├── icons/
│ ├── minecraft/
│ │ ├── blocks/
│ │ │ ├── stone.png
│ │ │ └── ...
│ │ └── items/
│ │ ├── diamond.png
│ │ └── ...
│ └── create/
│ ├── blocks/
│ │ ├── brass_casing.png
│ │ └── ...
│ │ └── items/
│ │ ├── brass_ingot.png
│ │ └── ...
│ └── create_20251226_181500.zip ← 자동 생성
└── ...
---
## 🛠️ 기술 스택
| 기술 | 설명 |
| -------------------- | --------------------- |
| **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 저하가 있을 수 있습니다
---
## 🚀 빌드
```bash
./gradlew build
빌드된 JAR: build/libs/iconexporter-1.0.0.jar