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 양쪽에서 작동.
This commit is contained in:
41
neoforge/build.gradle
Normal file
41
neoforge/build.gradle
Normal file
@@ -0,0 +1,41 @@
|
||||
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}" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user