This is an old revision of the document!
配置模组开发环境
前置
- JDK(即用于开发 Java 的工具,推荐使用由 AdoptOpenJDK 提供的 Java 8 及以上版本的 JDK https://adoptopenjdk.net/)
配置步骤
主要有两种新建 Fabric 模组开发环境的方法:你可以手动下载 fabric-example-mod(示例模组模板)并自行配置,也可以使用一些工具来自动设置。
部分地区的用户可能会发现,由于网速原因,构建 Gradle 速度可能比较慢。对于中国内地用户,可参考加快 Fabric 模组构建速度的教程和加速 Fabric 模组依赖拉取以及环境搭建教程。
手动步骤
- 复制 fabric-example-mod 中的初始文件(Kotlin 用户也可使用 Kotlin 版,此外,若因网速原因而构建时间较长的,也可以使用 使用其他下载源构建的 fabric-example-mod),并删除
LICENSE
(许可证)及README.md
(简介)文件,因为它们只应用于模板自身,而非你的模组。 - 编辑
gradle.properties
:- 更改
archives_base_name
和maven_group
:archives_base_name
被用于区分同一个组中的不同项目,将其改为你的模组名即可。maven_group
是一个把你所有的模组组织在一起的“组名”(即 Maven 中的 GroupId),所以最好把你所有模组的maven_group
设成同一个值。(maven_group
也应当遵从 Java 包名的命名规范:域名倒序 + 模块名 + 小模块名… ,如net.minecraft.client.gui.screen
) - 将 MC 版本改成你模组的目标版本,而命名映射(如 Yarn)和 Loader 的版本改成目标版本对应的最新版本(可通过这个网站查询具体的版本)。
- 在
build.gradle
中加入任何需要的其他第三方库。(一般会在模组页面/代码库上给出方法) - 将
build.gradle
导入到你的 IDE 中(各 IDE 操作各有不同,具体见下) - 配置完成!祝武运昌隆(bushi
你也可以生成MC的源文件来作为参考(不过 IDEA 已经自带反编译功能,所以生成不生成都随意):
运行 Gradle 任务 genSources
(生成源文件),如果你的 IDE 不集成 Gradle 支持的话则需要在控制台/终端/命令提示符中输入 gradlew genSources
(在 Linux 或 macOS 上则是 ./gradlew genSources
)
IntelliJ IDEA
如果你使用的是 IntelliJ IDEA,请遵循以下步骤:(注:中文文本可能会因为 IDEA 或中文插件的版本不同而不同)
- 在 IDEA 的主菜单里选择“打开或导入…(Import Project)”(如果已经打开了一个项目,选择位于顶端的“文件→打开…”)
- 选择项目的
build.gradle
文件以导入项目 - 在 Gradle 配置完成后,关闭并重新加载项目,否则有些运行配置可能无法正常显示。
- (如果运行配置还没有出现,试试在 Gradle 页面里重新导入项目。)
可选,但推荐做的一件事: IDEA 默认使用 Gradle 来构建你的项目,而这在 Fabric 是不必要的,而且它会导致构建时间变长以及热替换(hotswapping)相关的种种问题。以下是让 IDEA 使用默认编译器的步骤:
- 在 Gradle 页面里打开“Gradle 设置(Gradle Settings)”
- 将“使用此工具构建和运行(Build and run using)”和“使用此工具运行测试(Run tests using)”选项改成“IntelliJ IDEA”。
- 进入 文件(File)→ 项目结构…(Project Structure…)→ 项目(Project)然后将模块编译输出路径(Project compiler output)改成
$PROJECT_DIR$/out
。
不幸的是目前还不能给“使用此工具构建和运行”和“使用此工具运行测试”设置一个全 IDE 内的默认值,所以这些每创建一个新项目都得重复上述步骤。
注:*千万* 不要运行./gradlew idea
,因为它会与 Gradle 冲突并破坏整个开发环境。
Eclipse
如果你使用的是 Eclipse,并且想要生成IDE的运行设置,请运行 gradlew eclipse
。
Visual Studio Code
如果你使用的是 Visual Studio Code,请参照这篇教程。
MinecraftDev IntelliJ IDEA插件
IntelliJ IDEA 用户可以使用 MinecraftDev 插件来自动生成 Fabric 模组项目。该插件还有其他与 Mixin 相关的功能如审视(inspections,即高亮不当用法)、生成访问器(accessors)及影子成员(shadow members),以及自动填出目标引用(target descriptors,即 JVM 的方法描述符)。 这个插件可以在IntelliJ的插件库中找到,所以你也可以通过位于文件(File)→设置(Settings)→插件(Plugins)的内部插件浏览器找到并安装这个插件,只需要在搜索框里搜索“Minecraft”,选择第一个结果安装即可。
代码生成器
如果你没法使用 MinecraftDev 插件或 fabric-example-mod 模板的话,也可以使用 ExtraCraTX 制作的 GeneratorFabricMod,一个用于自动生成 Fabric 模组的工具。请遵循以下步骤:
- 在这里下载 GeneratorFabricMod 并解压。
- 创建一个新目录,并打开一个新的终端/命令提示符窗口并输入
到/GeneratorFabricMod/的/路径/bin/GeneratorFabricMod
。 - 在它获取完所有的前置项后,按照屏幕上的指示输入所需的信息。
- 完成之后用你的 IDE 打开即可完成安装。
新手入门
入门可以先尝试添加一些物品和方块。另外,建议了解一下如何在不重启 Minecraft 的情况下应用更改,以便调试。
建议
- 虽然 Fabric API 并不是必需的,但其最首要的目标是提供MC游戏引擎所不提供的跨模组兼容性和 hooks,所以我们强烈推荐多使用 Fabric API。(Wiki 上的许多教程也会默认使用 Fabric API 的 :D)
- 随着 fabric-loom(我们的Gradle构建插件)的开发和改动,有些时候你可能会遇上一些通过重置 Gradle 缓存才能解决的问题。使用
gradlew cleanloom
便能清理缓存,而gradlew --stop
则能帮助你解决一些其他疑难杂症。 - 问问题不要犹豫,有问题就问,总有人会帮你解决的。(笑
故障诊断
缺少声音
有时当 IDE 在导入 Gradle 项目的时候有些游戏素材不会正常下载。如果遇到这种情况则要手动运行 downloadAssets
任务——既可以使用 IDE 的自带菜单也可以直接执行 gradlew downloadAssets
。