本节包含了有关如何建立NeoForge工作空间以及如何运行并测试你的模组的信息
前提条件
熟悉编程语言Java,尤其是其中的面向对象,多态,泛型以及各种功能特性。
安装JDK21以及64位的JVM。 NeoForge官方推荐微软的OpenJDK,但是其他的JDK也一样可以运行。
⚠️注意
请确保你使用的是64位的JVM。一种检查方式是在终端中运行
java -version
。由于32位的JVM有很多方面都已经失去支持,使用32位的JVM可能会造成一些问题
选择一款你熟悉的集成开发环境(IDE)。
NeoForge官方支持IntelliJ IDEA和Eclipse,二者都集成了对Gradle的支持。但是使用其他像是Visual Studio Code,Vim,Emacs这样的IDE也可以。
建立环境
打开Mod开发工具包(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上的“Reload Gradle”按钮,或者使用终端命令gradlew来实现。
自定义你的模组信息
有关于你的模组的许多基础属性都可以在gradle.properties
中改动。一些像是模组名称或版本的基础信息也包含在内。可以参考gradle.properties
中的注释来获取更多信息,或者查看gradle.properties
的相关文档
如果你想在此之外修改构建过程,你可以编辑build.gradle
文件。NeoGradle是为了NeoForge使用的Gradle插件,提供了一些配置选项,其中的一些选项已经在build.gradle
中解释过了。完整的文档请参考NeoGradle文档。
⚠️注意
只有在你知道你在做什么时才可以编辑
build.gradle
和settings.gradle
,所有的基础属性可以在gradle.properties
中设置
构建并测试你的模组
为了构建你的模组,运行 gradle build
。这会在build/libs
中输出一个名为<archivesBaseName>-<version>.jar
的文件。 <archivesBaseName>
和<version>
是由build.gradle
设置的属性,并且默认是gradle.properties
中的mod_id
和mod_version
的值,如果你想的话,你可以在build.gradle
中改掉这个。最终的JAR包可以放进启用NeoForge的Minecraft的mods目录中,或者上传到mod分发平台。
要在测试环境下运行你的模组,你可以使用生成运行配置或者使用相关的任务(例如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。之后打开你的服务器应该就可以加入服务器了。
✅提示
你总是应该在专用服务器的环境下测试你的模组,包括只有客户端的模组,因为在服务端上加载的时候这种模组不应该有任何动作。
原文: