开始使用 NeoForge
本节包含如何设置 NeoForge 工作区,以及如何运行和测试您的模组(Mod)的信息。
先决条件
- 熟悉 Java 编程语言,特别是其面向对象、多态、泛型和函数式特性。
- 安装了 Java 21 开发工具包 (JDK) 和 64 位 Java 虚 拟机 (JVM)。NeoForge 推荐并官方支持 Microsoft 构建的 OpenJDK,但任何其他 JDK 也应该可以工作。
请确保您使用的是 64 位 JVM。一种检查方法是在终端中运行 java -version。Minecraft 不支持 32 位 JVM。
- 熟悉您选择的集成开发环境 (IDE)。
- NeoForge 官方支持 IntelliJ IDEA 和 Eclipse,两者都集成了 Gradle 支持。但是,任何 IDE 都可以使用,从 Netbeans 或 Visual Studio Code 到 Vim 或 Emacs。
- 熟悉 Git 和 GitHub。这在技术上不是必需的,但它会让您的生活轻松很多。
设置工作区
- 前往 模组生成器(Mod Generator) 网页,输入模组名称(以及可选的模组ID)、包名、Minecraft 版本和 Gradle 插件(ModDevGradle 或 NeoGradle),点击“下载模组项目”,并解压下载的 ZIP 文件。
- 打开您的 IDE 并导入 Gradle 项目。Eclipse 和 IntelliJ IDEA 会自动为您完成此操作。如果您的 IDE 不自动执行此操作,您也可以通过
gradlew终端命令来完成。- 首次执行此操作时,Gradle 将下载 NeoForge 的所有依赖项,包括 Minecraft 本身,并对它们进行反编译。这可能需要相当长的时间(最多一小时,取决于您的硬件和网络状况)。
- 每当您对 Gradle 文件进行更改时,都需要重新加载 Gradle 更改,可以通过 IDE 中的“重新加载 Gradle”按钮,或者再次通过
gradlew终端命令。
自定义您的模组信息
您模组的许多基本属性可以在 gradle.properties 文件中更改。这包括基本内容,如模组名称或模组版本。更多信息,请参阅 gradle.properties 文件中的注释,或查看 gradle.properties 文件的文档。
如果您想进一步修改构建过程,可以编辑 build.gradle 和 settings.gradle 文件。NeoForge 提供的 Gradle 插件,无论是 ModDevGradle 还是 NeoGradle,都提供了若干配置选项,其中一些在构建脚本中以注释形式进行了解释。
只有在您清楚自己在做什么时才编辑 build.gradle 和 settings.gradle 文件。所有基本属性都可以通过 gradle.properties 设置。
构建和测试您的模组
要构建您的模组,请运行 gradlew build。这将在 build/libs 目录下输出一个名为 <archivesBaseName>-<version>.jar 的文件。<archivesBaseName> 和 <version> 是由 build.gradle 设置的属性,默认分别取 gradle.properties 文件中的 mod_id 和 mod_version 值;如果需要,可以在 build.gradle 中更改。生成的 JAR 文件随后可以放置在启用了 NeoForge 的 Minecraft 设置的 mods 文件夹中,或上传到模组分发平台。
要在测试环境中运行您的模组,您可以使用生成的运行配置或使用相关的任务(例如 gradlew runClient)。这将从相应的运行目录(例如 runs/client 或 runs/server)启动 Minecraft,并包含指定的任何源代码集。默认的 MDK 包含 main 源代码集,因此在 src/main/java 中编写的任何代码都将被应用。
服务器测试
如果您正在运行一个专用服务器,无论是通过运行配置还是 gradlew runServer,服务器都会立即关闭。您需要通过编辑运行目录中的 eula.txt 文件来接受 Minecraft EULA。
接受后,服务器将加载并在 localhost(或默认的 127.0.0.1)下可用。但是,您仍然无法加入,因为服务器默认会处于在线模式,这需要身份验证(开发环境玩家不具备)。要解决此问题,请再次停止服务器,并将 server.properties 文件中的 online-mode 属性设置为 false。现在启动您的服务器,您应该能够连接了。
您应该始终在专用服务器环境中测试您的模组。这包括仅客户端模组,因为它们在服务器上加载时不应执行任何操作。