minecraft-mod/IconExporter/README.md
Caadiq 27888c557d feat(IconExporter): blocks/items 폴더 구분 및 ZIP 압축 기능 추가
- BlockItem 여부로 blocks/items 폴더 자동 분류
- 추출 완료 후 icons_<mod>_<timestamp>.zip 자동 생성
- README 업데이트
2025-12-26 18:30:03 +09:00

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
│           └── ...
└── icons_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 저하가 있을 수 있습니다

🚀 빌드

./gradlew build

빌드된 JAR: build/libs/iconexporter-1.0.0.jar