플랫폼
Forge 모드
Codexe로 만드는 Forge(및 NeoForge) 모드예요. 버전, 요청에 넣을 내용, ForgeGradle 빌드, mods.toml, 자주 생기는 문제를 다뤄요.
업데이트됨
Forge는 거대한 이벤트 버스와 레지스트리 시스템을 갖춘, 오랫동안 쓰여 온 모드 로더예요. Codexe는 ForgeGradle을 쓰는 완전한 Gradle 프로젝트를 생성해요.
#요청에 넣을 내용
- Minecraft와 Forge 버전: "Forge 1.20.1". 적지 않으면 Minecraft 1.20.1과 Forge 47을 써요.
- NeoForge: NeoForge(1.20.2+)를 원하면 분명하게 적으세요. Codexe는 NeoForge 프로젝트를 인식하고 그에 맞는 Gradle 설정으로 빌드해요.
- 콘텐츠: 아이템, 블록, 엔티티, 크리에이티브 탭, 레시피, 설정, 그리고 클라이언트 쪽 요소가 있는지.
A Forge 1.20.1 mod: adds a "Copper Hammer" tool (durability 250) that mines a 3x3 area of stone-type blocks. Crafted from copper ingots and sticks. Registered with DeferredRegister, added to the Tools creative tab, English lang file.#Codexe가 생성하는 것
- 올바른 ForgeGradle 및 Gradle 버전이 들어간
build.gradle,gradle.properties,settings.gradle. - 모드 id, 로더 범위, 의존성을 선언하는
META-INF/mods.toml(또는neoforge.mods.toml). @Mod진입 클래스,DeferredRegister레지스트리, 이벤트 구독자.- 에셋: 언어 파일, 모델, 임시 텍스처.
#빌드와 검증
모드는 준비됨이 되기 전에 컴파일되며, JAR에는 mods.toml, neoforge.mods.toml, mcmod.info 중 하나가 들어 있어야 해요. Java 버전은 Minecraft 버전으로 정해져요(1.20.5 이전은 17, 1.20.5부터는 21). 첫 빌드는 Forge 툴체인을 내려받느라 몇 분 걸릴 수 있어요. 모드 빌드는 10분이 지나면 중단돼요.
#자주 생기는 문제
| 증상 | 가능한 원인 |
|---|---|
| "Mod file … needs language provider javafml" | mods.toml의 로더 버전 범위가 Forge 버전과 맞지 않아요. 정확한 Forge 버전을 적으세요. |
| 시작할 때 레지스트리 오류 | 객체가 DeferredRegister 밖에서 등록됐어요. 채팅에 옮겨 달라고 요청하세요. |
| 싱글플레이에서는 되는데 서버에서 충돌함 | 공통 코드에서 클라이언트 전용 클래스를 참조하고 있어요. |