Kotlin for Forge
Forge/NeoForge 모드를 Kotlin 프로그래밍 언어로 개발할 수 있게 하는 코어 라이브러리. Kotlin 라이브러리 + KotlinLanguageProvider + AutoKotlinEventBusSubscriber 등 제공.
📖 소개
Kotlin for Forge는 Kotlin 프로그래밍 언어로 마인크래프트 Forge/NeoForge 모드를 개발할 수 있게 해 주는 코어 라이브러리입니다. 핵심은 원래 Java만 지원하던 Forge에 Kotlin 언어 지원을 더하는 '브릿지' 역할로, 모드 개발자용 도구이지만 Kotlin 기반 모드를 쓰는 사용자에게는 필수 의존성입니다. 자체 콘텐츠는 없습니다.
Kotlin은 JetBrains가 만든 모던 프로그래밍 언어입니다. Java와 같은 가상 머신(JVM)에서 실행되고 Java와 100% 상호 운용되며, null safety·데이터 클래스처럼 더 짧고 안전한 문법을 제공해 2017년부터는 구글 안드로이드 공식 언어가 됐습니다. 다만 Forge·NeoForge 자체는 Java 위주라 Kotlin으로 만든 모드는 별도 라이브러리가 필요한데, 그게 바로 Kotlin for Forge입니다.
제공하는 기능은 네 가지입니다. Kotlin 표준 라이브러리(stdlib·reflect·coroutines 등)를 모드팩에 한 번만 포함해 여러 Kotlin 모드가 깔려도 중복되지 않게 하는 셰이딩, `@Mod` Kotlin object 선언을 Forge가 인식하도록 로드하는 KotlinLanguageProvider, `@EventBusSubscriber` Kotlin 선언을 자동 로드하는 AutoKotlinEventBusSubscriber, 그리고 개발 편의를 위한 유틸리티 함수·상수입니다. Kotlin 함수 참조(::function)를 지원하는 커스텀 IEventBus 구현도 있어 Kotlin다운 자연스러운 모드 개발이 가능합니다.
가족 RPG 모드팩에서는 간접적으로 가치가 있습니다. 인기 RPG 스킬 모드인 Project: MMO, 광맥 채굴 모드 VeinMine, 서버 성능 도구 TPS Master 같은 Kotlin 기반 모드들이 Kotlin for Forge에 의존하므로, 가족 모드팩에서 이 모드들이 작동하는 게 이 라이브러리 덕분입니다. 임의로 제거하면 Project: MMO 같은 의존 모드가 크래시합니다. 또 자녀가 '왜 Kotlin이라는 새 언어를 쓰지?' 하고 물으면, 20년 넘은 마인크래프트의 베이스 언어 Java와 2011년부터의 모던 언어 Kotlin을 비교해 보는 프로그래밍 학습의 계기가 되기도 합니다.
Forge와 NeoForge 모두 별도 빌드로 지원하며 모드팩 로더에 맞춰 자동 매칭됩니다. Java가 모드 개발 표준이라 'non-Java 언어'를 지원하는 라이브러리는 거의 없고 Kotlin for Forge가 사실상 유일합니다. 11살 자녀와 함께 플레이할 때 직접 인식되지는 않지만, Kotlin 모드들이 안정적으로 작동하는 바탕이자 자녀의 프로그래밍 학습 동기가 됩니다.
🕒 이 모드는 언제 쓰는가
Kotlin 기반 모드(Project: MMO 등) 있으면 자동 작동.
📦 어떤 모드팩에서 중요한가
Project: MMO·VeinMine 등 Kotlin 모드 포함 모드팩.
🎮 플레이 체감 변화
직접 인식 X. 단 Project: MMO 같은 Kotlin 모드 안정 작동의 베이스. 자녀 프로그래밍 학습 동기.
🚀 시작 가이드 — 첫 30분 동안 해야 할 것
1단계 — 모드팩 포함 확인. Kotlin 모드(Project: MMO 등) 있는 모드팩에 자동 포함.
2단계 — 그대로 두기. 라이브러리.
3단계 — Project: MMO 같은 Kotlin 모드 활용 가족 RPG 활동.
다음 목표 — 자녀 프로그래밍 학습 동기 부여. "왜 Kotlin?" = Java vs Kotlin 학습. 자녀 IT 흥미 자극.
💡 플레이 팁
- **임의 제거 금지** — Project: MMO 등 Kotlin 모드 크래시.
- **별도 설정 없음** — 라이브러리. 사용자 조작 X.
- **자녀 프로그래밍 학습 동기 부여** — Java vs Kotlin = 언어 학습 시작.
- **Forge·NeoForge 별도 빌드** — 본인 모드팩 로더에 맞게 자동 매칭.
- **다수 Kotlin 모드 함께 깔려도 중복 X** — 라이브러리 셰이딩.
⚠️ 자주 헷갈리는 부분
- • **'아무 일도 안 일어남'이 정상** — 라이브러리.
- • **Kotlin 모드 없으면 무용지물** — 단독 깔면 효과 X.
- • **Forge vs NeoForge 별도** — "Kotlin for Forge"가 둘 다 지원.
❓ 자주 묻는 질문
Kotlin이 뭐?
**JetBrains 개발 모던 프로그래밍 언어**. JVM 호환 + Java 상호 운용. Google Android 공식 언어. Forge 모드 개발에 사용 가능.
어떤 모드 의존?
**Project: MMO**(인기 RPG 스킬), **VeinMine**(광맥 채굴), **TPS Master**(서버 성능) 등 Kotlin 기반 모드.
임의 제거 가능?
**비추천**. Kotlin 모드 모두 크래시. Project: MMO 같은 인기 모드 작동 X.
Forge·NeoForge 둘 다?
**둘 다 지원**. 본인 모드팩 로더에 맞는 빌드 자동 매칭.
11살 자녀에게?
**직접 영향 X, 단 프로그래밍 학습 동기**. "왜 새 언어?" = Java vs Kotlin 학습 시작. 자녀 IT 흥미 자극. Project: MMO 같은 모드의 베이스.