Files
mc_chat_answer_mod/neoforge/build.gradle
Claude 2c35e77b8b Restructure into multi-loader (Fabric + NeoForge) with merged jar
common 디렉토리에 로더 비종속 ChatAnswerCore 를 두고, fabric/ 과 neoforge/
서브프로젝트가 각자 진입점만 갖도록 분리. 두 결과물을 하나의 jar 로 묶기 위해
Fabric 측 common 클래스를 Shadow 의 relocate 로 kr.tkrmagid.chatanswer.fabric.core
패키지로 옮긴다 (Fabric 은 intermediary, NeoForge 는 Mojang 매핑이라 같은 클래스
경로에 그대로 두면 충돌). 루트의 mergedJar 태스크가 :fabric:relocatedJar 와
:neoforge:jar 를 합쳐서 build/libs/chat_answer-<version>-all.jar 생성.

산출물: 9.9KB 통합 jar 가 Fabric / NeoForge 양쪽에서 작동.
2026-05-13 22:10:30 +09:00

42 lines
992 B
Groovy

plugins {
id 'net.neoforged.moddev' version '2.0.97'
}
archivesBaseName = "${project.mod_id}-neoforge"
sourceSets {
main {
java {
srcDirs += "${rootDir}/common/src/main/java"
}
}
}
neoForge {
version = project.neoforge_version
}
processResources {
inputs.property "version", project.version
inputs.property "mod_id", project.mod_id
inputs.property "mod_name", project.mod_name
inputs.property "minecraft_version", project.minecraft_version
inputs.property "neoforge_version", project.neoforge_version
filesMatching("META-INF/neoforge.mods.toml") {
expand(
"version": project.version,
"mod_id": project.mod_id,
"mod_name": project.mod_name,
"minecraft_version": project.minecraft_version,
"neoforge_version": project.neoforge_version
)
}
}
jar {
from(rootProject.file("LICENSE")) {
rename { "${it}_${project.mod_id}" }
}
}