如何在 Minecraft Forge (Forge Gradle 3) 中添加另一个带有 mod 的 sourceSet?
How to add another sourceSet with a mod in Minecraft Forge (Forge Gradle 3)?
我有一个在 Forge 开发环境中制作的库,一个在 main
源集中,包含库代码;另一个在 testmod
(或任何其他名称)源集中,包含需要作为 Forge mod.
加载的测试代码
只需添加
sourceSets {
testmod {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
java {
srcDir "src/testmod/java"
}
resources {
srcDir "src/testmod/resources"
}
}
}
进入我的 build.gradle
,Forge 不会扫描源集,因此不会加载我的 mod。我怎样才能让 Forge 加载我的 mod?
请注意,我的 mod 在 Forge 1.14.4 中,这应该适用于 Forge Gradle 3.
的所有版本
Forge 通过 minecraft
/run
部分声明的 mod 加载 mod。您将需要添加以下行以使 Forge 扫描 mod 的 testmod
源集。
minecraft {
// ...
runs {
client {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}
server {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}
}
}
用您自己的 modid 替换 mainmodid
和 testmodid
。 mainmodid
应作为 examplemod
.
包含在 MDK 中
尽管这确实会让 Forge 加载您的 类,但它无法正确找到您的 mods.toml
(取决于 ForgeGradle 版本)。如果您 运行 遇到加载错误,说 mod 未在 mods.toml 中找到,请也添加以下代码段
processResources {
from(sourceSets.testmod.resources.srcDirs) {
include "META_INF/mods.toml"
}
}
同样简单地添加源集 testmod
不会自动添加 Forge 和 Minecraft 作为它的依赖项。您还将拥有 add
configurations {
testmodCompile.extendsFrom(compile)
testmodCompileOnly.extendsFrom(compileOnly)
testmodRuntimeOnly.extendsFrom(runtimeOnly)
}
使 Gradle 添加 Forge 和 Minecraft(testmodCompile
中的 testmod
是源集名称,请参阅 Gradle 文档)。
我有一个在 Forge 开发环境中制作的库,一个在 main
源集中,包含库代码;另一个在 testmod
(或任何其他名称)源集中,包含需要作为 Forge mod.
只需添加
sourceSets {
testmod {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
java {
srcDir "src/testmod/java"
}
resources {
srcDir "src/testmod/resources"
}
}
}
进入我的 build.gradle
,Forge 不会扫描源集,因此不会加载我的 mod。我怎样才能让 Forge 加载我的 mod?
请注意,我的 mod 在 Forge 1.14.4 中,这应该适用于 Forge Gradle 3.
的所有版本Forge 通过 minecraft
/run
部分声明的 mod 加载 mod。您将需要添加以下行以使 Forge 扫描 mod 的 testmod
源集。
minecraft {
// ...
runs {
client {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}
server {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}
}
}
用您自己的 modid 替换 mainmodid
和 testmodid
。 mainmodid
应作为 examplemod
.
尽管这确实会让 Forge 加载您的 类,但它无法正确找到您的 mods.toml
(取决于 ForgeGradle 版本)。如果您 运行 遇到加载错误,说 mod 未在 mods.toml 中找到,请也添加以下代码段
processResources {
from(sourceSets.testmod.resources.srcDirs) {
include "META_INF/mods.toml"
}
}
同样简单地添加源集 testmod
不会自动添加 Forge 和 Minecraft 作为它的依赖项。您还将拥有 add
configurations {
testmodCompile.extendsFrom(compile)
testmodCompileOnly.extendsFrom(compileOnly)
testmodRuntimeOnly.extendsFrom(runtimeOnly)
}
使 Gradle 添加 Forge 和 Minecraft(testmodCompile
中的 testmod
是源集名称,请参阅 Gradle 文档)。