(1)Minecraft fabric模组开发记录
hdsxwt
2026年02月17日 22:25
收录于文集
共1篇

作者:hdsxwt 首次编辑时间:2026-02-15 建议在电脑阅读

项目地址: https://github.com/hdsxwt/better_minecart

本文记录了作者在Minecraft-1.21.11 fabric端的首次开发经验。如文中做法有错误或不足,或者读者有更好的做法,希望各位读者能够提出您宝贵的意见[惊喜]

一、环境构建

作者采用修改 Fabric Template Mod 的方式开始自己的第一个mod编写。

Template mod generator 链接 https://fabricmc.net/develop/template/

关于选项:

1. 使用kotlin语言开发,作者不用。

2. 使用mojang官方的混淆方式,可选,但是大部分ai生成的代码都是yarn混淆的,所以作者用的是yarn混淆。(即不勾选)

3. 不知道是什么,作者没有选。

4. 分开client入口和server入口,推荐选。

下载,解压,然后在对应ide打开该文件夹。

编辑器应该会自动gradlew,如果没有魔法可能需要国内gradlew镜像源。

gradlew完成后先后运行对应 ide 和 fabric.genSource

二、基本配置文件

有这个 src\main\resources\fabric.mod.json

这里标注了mod的相关信息,其中标红的两行声明了主入口和客户端入口,在主入口需要注册一些服务器和客户端都需要注册的东西,在客户端注册一些仅客户端的东西。

MC 模组的所有东西都需要注册,用于向游戏声明我的模组实现了什么东西。

${version} 等信息在 gradle.properties 里面

Main注册的东西:item, entity,block等需要同时告知服务器和客户端的内容。

Client注册的东西:entityrender等只与客户端相关的内容。

三、关于文件排布

主目录下的 src/main/java/MOD_ID 一般是代码文件存放的位置。

主目录下的 src/main/resources/assets/MOD_ID 一般是资源文件存放的位置。

具体情况可以参考文章开头提供的模组项目地址,也可以自行找寻相关开源模组项目。

BUG:目前作者的资源文件好像无法被正常识别,可能是作者搞错了资源放置的位置。。。如果有读者能够指出正确的资源文件位置感激不尽。

对于不同类型的代码文件(如entity,block),可以分文件夹放置,同时如果有嵌套关系(如entity对应的entityRender)的类,可以嵌套文件夹放置。

对于每个不同的类型,可以建抽象类 RegisterHandler 注册当前分类下的文件,同时在主入口调用每个不同类型的 RegisterHandler,规范注册。