Forge 入门

Forge 入门

如果你从未制作过 Forge Mod,本节将介绍搭建 Forge 开发环境所需的基本信息。文档的其余部分介绍接下来可以做什么。

Forge MDK 解压、IDE 导入、定制 Mod 信息、测试和构建的入门流程,以及各 IDE 的运行配置任务

原创说明图,依据 Forge 1.21.x 官方文档 绘制。

前提条件

  • 安装 Java 21 开发工具包(JDK)和 64 位 Java 虚拟机(JVM)。Forge 推荐并正式支持 Eclipse Temurin。原文要求 Java 21,但其链接指向 Temurin 17,请选择符合 Java 21 要求的版本。
  • 熟悉集成开发环境(IDE);推荐使用支持 Gradle 集成的 IDE。

从零开始制作 Mod

  1. 从 Forge 文件站下载 Mod 开发工具包(MDK):点击“Mdk”,等待一段时间后点击右上角的“Skip”。建议尽可能下载最新的 Forge 版本。

  2. 将 MDK 解压到空目录。这个目录将成为 Mod 的项目目录,其中应包含若干 Gradle 文件和带有示例 Mod 的 src 子目录。

    以下文件可以在不同 Mod 项目之间复用:gradle 子目录、build.gradle、gradlew、gradlew.bat 和 settings.gradle。src 不必复制到其他工作区;如果之后才创建 Java 目录 src/main/java 和资源目录 src/main/resources,可能需要刷新 Gradle 项目。

  3. 打开所选 IDE。Forge 明确支持 Eclipse 和 IntelliJ IDEA,并提供 Visual Studio Code 的运行配置,但也可以使用 Apache NetBeans、Vim、Emacs 等其他环境。Eclipse 和 IntelliJ IDEA 默认安装并启用的 Gradle 集成会在导入或打开项目时完成初始设置,包括从 Mojang、MinecraftForge 等下载所需包。Visual Studio Code 需要“Gradle for Java”插件。

    修改 build.gradle、settings.gradle 等 Gradle 文件后,几乎都需要调用 Gradle 重新评估项目。有些 IDE 提供“Refresh”按钮,也可以通过终端运行 gradlew。

  4. 为 IDE 生成运行配置:

    • Eclipse:运行 genEclipseRuns 任务。
    • IntelliJ IDEA:运行 genIntellijRuns。如果出现“module not specified”错误,请将 ideaModule 属性设为 main 模块,通常是 ${project.name}.main。
    • Visual Studio Code:运行 genVSCodeRuns。
    • 其他 IDE:可直接使用 gradle run* 运行配置,如 runClient、runServer、runData、runGameTestServer。受支持的 IDE 也可以使用这些任务。

自定义 Mod 信息

编辑 build.gradle,自定义 Mod 的构建方式,例如文件名和构件版本。除非了解其用途,否则不要编辑 settings.gradle;它指定了 ForgeGradle 所在的仓库。

替换 Mod ID

将所有 examplemod 替换为自己的 Mod ID,包括 mods.toml 和 Mod 主文件。通过设置 base.archivesName 修改构建文件名,通常将其设为 Mod ID:

// 在 build.gradle 中
base.archivesName = 'mymod'

Group ID

group 应设为顶层包名,通常使用自己拥有的域名或电子邮件地址:

类型 值 顶层包
域名 example.com com.example
子域名 example.github.io io.github.example
电子邮件 example@gmail.com com.gmail.example
group = 'com.example'

Java 源代码目录 src/main/java 下的包也应遵循该结构,以内层包表示 Mod ID:

com
└── example(group 属性指定的顶层包)
    └── mymod(Mod ID)
        └── MyMod.java(由 ExampleMod.java 重命名)

版本

将 version 设为 Mod 的当前版本。文档推荐使用 Maven 版本编号的一种变体:

version = '1.21.1-1.0.0.0'

更多配置参见 ForgeGradle 文档。

构建和测试 Mod

  1. 运行 gradlew build。默认会在 build/libs 输出名为 [archivesBaseName]-[version].jar 的文件,可将它放入已安装 Forge 的 Minecraft 的 mods 文件夹或进行分发。
  2. 在测试环境运行时,可以使用生成的运行配置或相应任务,例如 gradlew runClient。Minecraft 将从运行目录(默认为 run)启动,并使用指定的源集。默认 MDK 包含 main 源集,因此 src/main/java 中的代码会生效。
  3. 无论使用运行配置还是 gradlew runServer 启动独立服务器,服务器首次都会立即关闭。需要编辑运行目录中的 eula.txt 以接受 Minecraft EULA。接受后服务器即可加载,并可通过直接连接 localhost 访问。

始终应在独立服务器环境测试 Mod,包括仅客户端 Mod:它们在服务器上加载时应当不执行任何操作。

原文:Getting Started with Forge。