This is an old revision of the document!
配置模组开发环境
前置
- JDK(即用于开发Java的工具,推荐使用由AdoptOpenJDK提供的Java 8及以上版本的JDK https://adoptopenjdk.net/)
配置步骤
主要有两种新建Fabric模组开发环境的方法:你可以手动下载fabric-example-mod(示例模组模板)并自行配置,也可以使用一些工具来自动设置。
部分地区的用户可能会发现,由于网速原因,构建Gradle速度可能比较慢,可参考此中文教程加快构建速度。
手动步骤
- 编辑
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
。