마인크래프트는 원래 유저가 마음대로 뜯어고치기(모딩) 쉽게 만들어진 게임이 아니다. 그래서 유저들이 만든 다양한 모드들이 서로 충돌하지 않고 안전하게 실행되도록 도와주는 ‘모드 로더(Mod Loader)’, 즉 기반 시스템이 필요한데, 그 중 가장 대중적이고 역사가 깊은 것이 바로 포지(Forge)이다.
여기서 mod 개발환경을 셋팅한 내용을 정리한다. 참고로 맥북 환경 기준이다.
Forge 설치하기
Downloads for Minecraft Forge 웹페이지에 들어가서, installer 와 mdk 를 다운받아 설치한다. mdk 는 나중에 설명하고, installer 파일은 java -jar 로 실행하면 된다. 그러면 설치창이 뜰텐데, install client 를 선택해서 설치하면 된다.
$ java -jar forge-26.1.2-64.0.8-installer.jar
IDE 설치하기
맥북에는 IntelliJ IDEA 를 설치하는게 제일 편하다. 현재는 예전처럼 CE 버전으로 무료버전이 따로 있지는 않으니 우선 받고 쓰다보면, 무료기능으로 쓸 수 있을거 같다.
Forge MDK 로 프로젝트 만들기
MDK는 Mod Development Kit(모드 개발 키트)이며, Forge MDK는 그 모드를 직접 만들 수 있도록 도와주는 개발자 전용 도구 상자이다. 그냥 zip 파일을 풀어서 바로 IDE 에서 프로젝트 열기로 열면 된다. 프로젝트 열기는 별거 없고, build.gradle 파일을 선택해서 열면 프로젝트로 열것인지 물어본다. 생각보다 gradle 설정으로 인한 패키지설치 시간이 꽤 걸리니 좀 기다려야 한다.
모드가 반영된 마인크래프트 실행하기
IntelliJ IDEA 오른편 바에 아주 작게 gradle 아이콘이 있는데, 거기서 runClient 명령어가 있을텐데, 더블클릭해서 실행한다. 맥 환경에서는 아래와 같은 에러메시지를 만날 수 있다.
Caused by: java.lang.IllegalStateException: GLFW may only be used on the main thread and that thread must be the first thread in the process. Please run the JVM with -XstartOnFirstThread. This check may be disabled with Configuration.GLFW_CHECK_THREAD0.
해결이 어려운건 아니고, 에러 메시지 마지막을 보면 친절하게 힌트가 적혀 있다. (Please run the JVM with -XstartOnFirstThread) JVM(자바 가상 머신)을 켤 때 첫 번째 스레드에서 시작하라는 옵션을 주면 해결된다. build.gradle 파일을 열어서 아래 셋팅을 추가한다.
minecraft {
runs {
register('client') {
jvmArgs '-XstartOnFirstThread' // 추가
}
}
}
그리고 나서 실행하면, 실행되는 것을 확인할 수 있다. 이제 모드 개발만 하면 된다.

개발하면서 버전업할때, 설정 방법
계속 모드를 개발하다보면, 버전업을 해줘야 할텐데, 설정해야 하는 파일은 2개이다. build.gradle 파일에 보면, version 정보가 있다. 이부분을 변경해준다.
// build.gradle
version = '1.0.1'
group = 'com.example.examplemod'
두번째는 resources/META-INF/mods.toml 파일내 version 정보이다. 여기에는 모드에 대한 설명부분도 서술할 수 있으니 이부분을 충분히 활용한다.
# resources/META-INF/mods.toml
[[mods]]
modId="examplemod"
version="1.0.1"
displayName="Example Mod"
description='''처음만든 MOD 파일.
[1.0.1] : 클래스 분리, jvm 설정.
'''