minecraft-mod/IconExporter/README.md

3.6 KiB

🖼️ IconExporter

마인크래프트 아이템/블록 아이콘을 PNG 파일로 추출하는 클라이언트 전용 NeoForge 모드입니다.

NeoForge Minecraft Kotlin


주요 기능

  • 🎨 고품질 아이콘 추출 - 게임 내 실제 렌더링과 동일한 품질
  • 📦 모드 아이템 지원 - 바닐라 + 설치된 모든 모드 아이템 추출
  • 대량 추출 - 틱 기반 큐 시스템으로 게임 프리즈 없이 대량 처리
  • 🖼️ 투명 배경 - 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