User Tools

Site Tools


zh_cn:tutorial:setup

This is an old revision of the document!


配置模组开发环境

前置

  • Java 17(推荐)的 JDK(即用于开发 Java 的工具,安装器可参考 https://adoptium.net/releases.html
    • 专业用户可以从 http://jdk.java.net/ 获取JDK,注意需要手动解压并设置系统变量。
  • 任意 IDE(集成开发环境):如 IntelliJ IDEAEclipse,也可使用任何可编辑代码的文本编辑器,如 Visual Studio Code
    • 如果对这些不熟悉,推荐使用 Intellij IDEA,绝大多数开发者都用这个编写模组。

配置步骤

主要有两种新建 Fabric 模组开发环境的方法:你可以手动下载 fabric-example-mod(示例模组模板)并自行配置,也可以使用一些工具来自动设置。

部分地区的用户可能会发现,由于网速原因,构建 Gradle 速度可能比较慢。对于中国内地用户,可参考加快 Fabric 模组构建速度的教程加速 Fabric 模组依赖拉取以及环境搭建教程

手动步骤

  1. 复制 fabric-example-mod 中的初始文件(Kotlin 用户也可使用 Kotlin 版,此外,若因网速原因而构建时间较长的,也可以使用 使用其他下载源构建的 fabric-example-mod),并删除 LICENSE(许可证)及 README.md(简介)文件,因为它们只应用于模板自身,而非你的模组。
  2. 编辑 gradle.properties:
    • 确保将 archives_base_namemaven_group 设为你喜欢的值。
    • 确保更新 Minecraft、映射、加载器和 loom 的版本——可以在https://fabricmc.net/develop/查询。
    • 添加你需要在 build.gradle 中使用的其他依赖。
  3. build.gradle 导入到你的 IDE 中(各 IDE 操作各有不同,具体见下)
  4. 配置完成!祝武运昌隆(bushi

你也可以生成MC的源文件来作为参考(不过 IDEA 已经自带反编译功能,所以生成不生成都随意): 运行 Gradle 任务 genSources(生成源文件),如果你的 IDE 不集成 Gradle 支持的话则需要在控制台/终端/命令提示符中输入 gradlew genSources(在 Linux 或 macOS 上则是 ./gradlew genSources

如有需要,可以在 gradle.properties 中设置镜像源。镜像源可能有时不可用,或者内容更新滞后,因此如需暂时禁用镜像源下载,可暂时将相关内容注释掉即可。

loom_libraries_base=https://bmclapi2.bangbang93.com/maven/
loom_resources_base=https://bmclapi2.bangbang93.com/assets/
loom_version_manifests=https://bmclapi2.bangbang93.com/mc/game/version_manifest.json
loom_experimental_versions=https://maven.fabricmc.net/net/minecraft/experimental_versions.json
loom_fabric_repository=https://repository.hanbings.io/proxy/

IntelliJ IDEA

如果你使用的是 IntelliJ IDEA,请遵循以下步骤:(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同)

  1. 在 IDEA 的主菜单里选择“打开或导入…(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件→打开…”)。
  2. 选择项目的 build.gradle 文件以导入项目。
  3. 在 Gradle 配置完成后,关闭并重新加载项目,否则有些运行配置可能无法正常显示。
  4. (如果运行配置还没有出现,试试在 Gradle 页面里重新导入项目。)

可选,但推荐做的一件事: IDEA 默认使用 Gradle 来构建你的项目,而这在 Fabric 是不必要的,而且会导致构建时间变长以及热交换(hotswapping)相关的种种问题。以下是让 IDEA 使用默认编译器的步骤:

  1. 在 Gradle 页面里打开“Gradle 设置(Gradle Settings)”
  2. 将“使用此工具构建和运行(Build and run using)”和“使用此工具运行测试(Run tests using)”选项改成“IntelliJ IDEA”。
  3. 进入 文件(File)→ 项目结构…(Project Structure…)→ 项目(Project)然后将模块编译输出路径(Project compiler output)改成 $PROJECT_DIR$/out

不幸的是,目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。

注:*千万* 不要运行 idea 的 gradle 任务,已知它会破坏开发环境。

如果你使用 IntelliJ IDEA,你可以使用 MinecraftDev 插件。该插件支持自动生成 Fabric 项目以及一些与 Mixin 有关的功能,如检查、生成访问器(accessor)和影子(shadow)字段、复制 Mixin 目标参考(JVM 描述符)。你可以在文件(File) → 设置(Settings) → 插件(Plugins)中打开内部插件浏览器,找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。

Eclipse

如果你使用的是 Eclipse,并且想要生成 IDE 的运行设置,请运行 gradlew eclipse。然后,项目就可以作为普通的(非 gradle)的 Eclipse 项目导入你的工作区内,方法就是“文件” — “导入…”菜单,然后“通用” → “已存在的项目导入工作区”。

Visual Studio Code

如果你使用的是 Visual Studio Code,请参照这篇教程

生成 Minecraft 源代码

阅读 Minecraft 源代码是编写模组时的重要一部分。但是,我们不能发布 Minecraft 的源代码,因为这违反了 Minecraft 的最终用户许可协议(EULA)。你需要自己生成 Minecraft 源代码。

要生成 Minecrat 源代码,运行 gradle 任务 genSources。如果你的 IDE 没有嵌入 gradle,在终端内运行以下命令:./gradlew genSources。反编译可能需要一段时间,取决于计算机的能力。你可能需要在运行任务之后刷新 gradle。

如何阅读源代码,可参考此教程

新手入门

入门可以先尝试添加一些物品方块。另外,建议了解一下如何在不重启 Minecraft 的情况下应用更改,以便调试。

建议

  • 虽然 Fabric API 并不是必需的,但其最首要的目标是提供游戏引擎所不提供的跨模组兼容性和接口,所以我们强烈推荐多使用 Fabric API。本 wiki 上的许多教程也会默认使用 Fabric API。
  • 随着 fabric-loom(我们的Gradle构建插件)的开发和改动,有些时候你可能会遇上一些通过重置 Gradle 缓存才能解决的问题。使用 gradlew cleanloom 便能清理缓存,而 gradlew --stop 则能帮助你解决一些其他疑难杂症。
  • 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑

故障诊断

缺少声音

有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 downloadAssets 任务——既可以使用 IDE 的自带菜单也可以直接执行 gradlew downloadAssets

zh_cn/tutorial/setup.1657709384.txt.gz · Last modified: 2022/07/13 10:49 by solidblock