NeoForge入门指南(Getting Started with NeoForge)
本节包含有关如何设置NeoForge工作区以及如何运行和测试您的模组(mod)的信息。
先决条件(Prerequisites)
- 熟悉Java编程语言,特别是其面向对象、多态、泛型和函数式特性。
- 安装Java 21开发工具包(Java 21 Development Kit, JDK)和64位Java虚拟机(Java Virtual Machine, JVM)。NeoForge推荐并官方支持Microsoft builds of OpenJDK,但其他JDK也应该可以工作。
确保您使用的是64位JVM。一种检查方法是在终端中运行java -version。Minecraft不支持32位JVM。
- 熟悉您选择的集成开发环境(Integrated Development Environment, IDE)。
- NeoForge官方支持IntelliJ IDEA和Eclipse,两者都集成了Gradle支持。但是,可以使用任何IDE,从Netbeans或Visual Studio Code到Vim或Emacs。
- 熟悉Git和GitHub。这在技术上不是必需的,但会让您的生活轻松很多。
设置工作区(Setting Up the Workspace)
- 打开模组开发工具包(Mod Developer Kit, MDK)(ModDevGradle或NeoGradle)GitHub仓库,点击"使用此模板(Use this template)"并将新创建的仓库克隆到本地机器。
- 如果您不想使用GitHub,或者想要获取旧提交的模板,也可以下载仓库的ZIP文件(在Code -> Download ZIP下)并解压。
- 打开您的IDE并导入Gradle项目。Eclipse和IntelliJ IDEA会自动为您完成此操作。如果您的IDE没有此功能,也可以通过
gradlew终端命令完成。- 第一次执行此操作时,Gradle将下载NeoForge的所有依赖项,包括Minecraft本身,并反编译它们。这可能需要相当长的时间(最多一小时,取决于您的硬件和网络强度)。
- 每当您更改Gradle文件时,都需要重新加载Gradle更改,可以通过IDE中的"重新加载Gradle(Reload Gradle)"按钮,或再次通过
gradlew终端命令。
自定义模组信息(Customizing Your Mod Information)
您模组的许多基本属性可以在gradle.properties文件中更改。这包括基本内容,如模组名称或模组版本。有关更多信息,请参阅gradle.properties文件中的注释,或查看gradle.properties文件的文档。
如果您想进一步修改构建过程,可以编辑build.gradle文件。NeoGradle(NeoForge的Gradle插件)提供了几个配置选项,其中一些在build.gradle文件的注释中进行了解释。有关完整文档,请参阅NeoGradle文档。
只有在知道自己在做什么的情况下才编辑build.gradle和settings.gradle文件。所有基本属性都可以通过gradle.properties设置。
构建和测试您的模组(Building and Testing Your Mod)
要构建您的模组,请运行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中编写的任何代码都将被应用。
服务器测试(Server Testing)
如果您正在运行专用服务器(无论是通过运行配置还是gradlew runServer),服务器将立即关闭。您需要通过编辑运行目录中的eula.txt文件来接受Minecraft最终用户许可协议(EULA)。
接受后,服务器将加载并在localhost(默认情况下为127.0.0.1)下可用。但是,您仍然无法加入,因为服务器默认会进入在线模式,这需要身份验证(开发人员玩家没有)。要解决此问题,请再次停止服务器并将server.properties文件中的online-mode属性设置为false。现在,启动您的服务器,您应该能够连接。
您应该始终在专用服务器环境中测试您的模组。这包括仅客户端模组,因为这些模组在服务器上加载时不应执行任何操作。