gpt4 book ai didi

gradle - 如何在 Minecraft Forge (Forge Gradle 3) 中使用 mod 添加另一个 sourceSet?

转载 作者:行者123 更新时间:2023-12-03 05:26:27 27 4
gpt4 key购买 nike

我有一个在 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 在 Forge 1.14.4 中,这应该适用于 Forge Gradle 3 的所有版本。

最佳答案

Forge 通过 minecraft 中声明的 mod 加载 mod/run部分。您需要添加以下行以使 Forge 扫描 testmod模组的源集。

minecraft {
// ...
runs {
client {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}

server {
// ...
mods {
mainmodid {
source sourceSets.main
}
testmodid {
source sourceSets.testmod
}
}
}
}
}

替换 mainmodidtestmodid用你自己的 modid 的。 mainmodid应该作为 examplemod 包含在 MDK 中.

虽然这确实使 Forge 加载您的类,但它无法找到您的 mods.toml虽然正确(取决于 ForgeGradle 版本)。如果您遇到加载错误说在 mods.toml 中找不到测试模块,请添加以下代码段
processResources {
from(sourceSets.testmod.resources.srcDirs) {
include "META_INF/mods.toml"
}
}

也只需添加源集 testmod不会自动添加 Forge 和 Minecraft 作为它的依赖项。您还将添加
configurations {
testmodCompile.extendsFrom(compile)
testmodCompileOnly.extendsFrom(compileOnly)
testmodRuntimeOnly.extendsFrom(runtimeOnly)
}

使 Gradle 添加 Forge 和 Minecraft( testmod 中的 testmodCompile 是源集名称,请参阅 Gradle 文档)。

关于gradle - 如何在 Minecraft Forge (Forge Gradle 3) 中使用 mod 添加另一个 sourceSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61093029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com