开发环境配置 1.20 Fabric 长线教程计划
本篇教程的视频
本篇教程的源代码
GitHub地址:TutorialMod-Start-1.20.1
准备工作
那么从本期教程开始,我们正式的开始,这个1.20.1 fabric模组的开发教程
那么第一期教程的话,和以往一样,我们就来进行开发环境的配置
JDK17
那么我们的Minecraft的话,它是拿Java去写的
而我们要进行开发的话,就得装一个JDK啊
这个JDK的全称的话就是Java Development Kit,简称JDK
大家学Java的时候的话,应该也都是装过这个东西的
不管是8也好,还是17也好,还是21,应该都是装过这个东西的
1.20.1它这个版本,它应该是拿Java 17去写的,所以说我们安装的版本的话,应该要装的是这个JDK17啊
当然你装JDK21其实也没有问题,它这个版本的话,主要你得看那个模板文件里面,它用的那个gradle的版本
关于它的下载的话,我这里提供Oracle官网上的Java下载
链接:Oracle
链接里点进去,再往下翻,就能翻到JDK17的下载
它分三个端,三个端的不同的安装程序,下载你自己对应系统
这里我们以Windows为例
那么它还分一些不同的安装方式,有三个东西
其中一个是zip,这是压缩文件,它是已经完全安装好的Java,你可以下载解压之后,放到你自己的Java目录中
另外两个exe和msi,这两个的话都是安装程序,可以自己选择下载安装
安装的话,默认是安装到C盘的,其实也不用改安装路径,IDEA会默认到C盘找你的Java
当然你也可以选择安装到其他位置,只要你自己找得到就行
不过,在Oracle上下载JDK17的话,现在是要注册登录的,所以说你下载的话,得先注册一个Oracle的账户
嫌麻烦的话,你也可以去百度搜索一下,JDK17的下载,有很多其他的网站
IDEA
IDEA的全称是IntelliJ IDEA,是JetBrains公司的一款Java IDE
那么现在我们就用它作为我们模组开发的编辑器,其他编辑器当然也可以,只是我个人建议使用IDEA,有些操作会方便一点
那么下载这里我提供官方的下载链接
链接:IDEA下载
那么到下载界面,先别捉急下载,开头的那个IntelliJ IDEA Ultimate,什么30天免费试用,咱不要
那玩意是专业版,其实就对模组开发而言,社区版足矣,我们用不着专业版的一些功能
然后往下翻,找到IntelliJ IDEA Community,下载社区版就行,社区版是完全免费的

IDEA的安装默认也在C盘,这个的话,你就改到其他的位置好了,如果你C盘够大,也可以装C盘里
那么,在安装中,会有一个更新path变量的选项,这个选项的话,勾选了的话,需要重启电脑才能生效
模组模板文件
那么接下来我们要去生成Fabric模组的模板文件
这里我们要到它的模板生成器的网站上
链接:生成器

然后我们来看里面的一些设置:
Mod Name
这个是模组的名字,可以按照你的需求填写,比如TutorialMod。
这个名字在生成的文件中,会变成我们的我们之后常说的modid。
如果你的模组名字中间有空格,那么生成的文件中会自动把空格替换成-。
比如说Tutorial Mod会变成tutorial-mod
注意,modid一旦生成就不要乱改,否则会导致模组无法正常运行
Package Name
这个是包名,一般是com.你的名字.模组名(上面的modid)。
我的话就可以写com.besson.tutorial(最后一个可以不是modid的)
一般就是你的域名倒过来,然后加上模组名
Minecraft Version
显然易见,这个是我们要开发的Minecraft版本,这里我们选择1.20.1
Advanced Options
下面是一些高级选项
Kotlin Programming Language,如果你会kotlin,可以勾选
Mojang Mappings,这个是Mojang的官方映射,我们不需要这个,
因为我们的模组是基于Fabric的,Fabric已经提供了yarn映射。
本教程也是基于Fabric的yarn映射,如果你使用Mojang映射,有些方法名、类名可能会不一样
Data Generation,这个是生成数据包的,我们后面会用到,要勾选
Split client and common sources,这个是分离客户端和服务端源码,可选可不选,不过这里我们先不选
我们的模组基本上是在服务端上运行的,比如方块实体的运算处理,箱子内存了什么东西,都是服务端存储的
而当玩家打开箱子时,才会触发服务端向客户端发包,告诉客户端箱子内存了什么东西,然后你可以拿出来或者放进去一些东西
不过,像一些渲染,如方块实体、生物实体、GUI、Screen等和渲染有关系的东西,都是在客户端上运行的
一切准备完成后,我们点击下方的下载按钮即可下载模板文件。我们会得到一个zip文件,将它解压到你的工作目录
初始化项目
解压好我们的模板文件之后,我们用IDEA打开它
Gradle构建
而后,IDEA会自动进行Gradle的构建,不过,这个过程往往是模组开发之路上的第一块绊脚石
Gradle构建所需的资源都在外网,所以,这个构建过程建议全程使用7个木棍
不过Gradle可以换源,具体的内容自行百度
那么在Gradle构建期间,我们可以先看看build.gradle里的JVM版本
1 | tasks.withType(JavaCompile).configureEach { |
我们可以发现,Gradle默认的JVM版本是17
项目结构
那么确认了Gradle使用的是17之后,我们也得来看看项目结构里的设置是否正确
项目结构的快捷键是Shift+Alt+Ctrl+S,也找到设置中的项目结构打开,在项目界面,找到SDK,确认一下使用的是JDK17
在后面一个模块中,也可以设置使用的SDK,这里我们选择17
当然,其实用21也是没关系的,只要你的项目不出问题,JDK21也是可以选择的(我选择的是21)

Gradle JVM
虽然说我们看到build.gradle里,它默认使用的是17,但是,有时候IDEA会自己给你选择其他的版本,我们也来检查一下
设置 -> 构建、执行、部署 -> 构建工具 -> Gradle,检查Gradle JVM是否为JDK17
同样的,21如果不出问题,也可以用

IDEA一些小设置
IDEA 2024.3版本之后,我们就不再需要安装中文语言包这个插件了,因为这个时候中文已经是IDEA的内置语言了
在外观与行为->系统设置->语言和区域,我们可以更改语言设置(当然需要重新启动)

那么另外的插件方面,Minecraft Development可以装一下,像Translation这样的翻译插件也可以装一个
运行genSources
当终端出现BUILD SUCCESSFUL字样,说明我们的Gradle构建已经成功
接下来我们就要进行源代码的获取,也就是带有注释的源文件(java后缀),而不是IDEA给我们反编译的文件(class后缀)
在IDEA右侧栏中,我们找到一个大象的图标,那个是Gradle的图标
在Tasks -> fabric找到genSources,双击运行,等待它运行完成,也是出现BUILD SUCCESSFUL字样即代表构建成功
那么接下来,我们找一个Minecraft的文件,就拿模板文件生成中的mixin示例文件为例,
也就是ExampleMixin,我们按住CTRL,再点击MinecraftServer,就可以跳转到MinecraftServer文件
不过,在你没有选择源文件之前,你会发现标签页上的class后缀的,这是IDEA反编译的,
同时在标签页下方还有一行蓝色的东西,其中一个选项是选择源,点击它,选择我们刚刚运行生成的源文件,
即带source后缀的jar文件
选择好之后,我们就得到了java后缀的源文件,也可以看到冒出来的一堆注释
那么在此之后,你打开绝大多数的Minecraft文件,都是java后缀的源文件
一些文件
那么接下来我们来看看一些比较重要的文件
gradle.properties
这个文件是Gradle的配置文件,里面有一些Gradle的配置。
1 | # Done to increase the memory available to gradle. |
比如说org.gradle.jvmargs=-Xmx1G,这个是Gradle的最大内存,可以根据自己的电脑配置来调整
1 | # Fabric Properties |
这个是Fabric的配置,我们可以在这里修改Minecraft版本、yarn映射版本、loader版本
当版本有更新时,我们可以在这里修改,然后重新建构项目即可。版本信息可以在这里给出的网站上找到
链接:Fabric
在这个网站上,我们可以看Latest Versions中对应Minecraft的版本是否有更新,
如果有的话,就可以将网站上的内容复制到我们的这个文件中,重新建构以更新项目

1 | # Mod Properties |
这个是模组的配置,我们可以在这里修改模组的版本号,另外两个是包名和模组名(modid),后面两个基本就不去动它
1 | # Dependencies |
这个是Fabric的API版本,同样我们可以用上面的那个网站来检查更新
build.gradle
这个是Gradle的构建文件,里面有一些Gradle的配置
1 | plugins { |
这个是Gradle的插件,fabric-loom是Fabric的插件,其版本也可以在上面的网站上找到
1 | ... |
这个是Gradle的依赖,我们可以在这里添加一些依赖
也是为我们模组添加的依赖,一般的可以被当作lib使用的模组的Wiki中会告诉我们如何添加
后续我们将争对这一部分的进行专门的讲解
LICENSE
这是许可证文件,也是开源项目所遵循的开源协议文件
我们可以在这里修改许可证的内容。具体的内容你可以自行百度,把他们复制到这个文件中即可
你也可以在GitHub上生成你的许可证文件
fabric.mod.json
这个是模组的描述文件,里面有一些模组的信息。
1 | { |
id是模组的ID,就是modid
version是模组的版本,这个是在gradle.properties中配置的
name是模组的名字
description是模组的描述
authors是作者,可以有多个
contact在一些启动器上是会自动读取的,比如HMCL,你打开模组信息时,会展示官方页面和源代码页面的,homepage的话,假设你的模组有一个专门的网站,那可以写上,
而sources就是你的源代码仓库的地址
license是许可证,这个是在LICENSE文件中配置的
icon是模组的图标,这个是在assets/<modid>/icon.png中配置的
下面,我们要为其中的entrypoints添加一些内容。
1 | ... |
这里多加一个client,也就是客户端,因为模组中有一些特殊的代码需要在客户端运行,比如前面说的渲染。
而后我们需要创建TutorialModClient这个类
TutorialModClient.java
注意你创建的位置,要和上面写的路径一致,不然找不到
1 | public class TutorialModClient implements ClientModInitializer { |
这个类要实现ClientModInitializer接口,
然后重写onInitializeClient方法。
这个方法会在客户端初始化的时候被调用。
TutorialMod.java
这个是我们的主类文件,它会在我们游戏启动的时候被调用。我们可以在这里添加一些初始化代码。
1 | public class TutorialMod implements ModInitializer { |
MOD_ID在现在的版本中,已经自动给你拿出来了,以后我们会用到
重新建构
因为我们改了一些文件,所以我们需要重新构建一下项目
我们可以找到一个大象带一个重新加载的图标,点击它即可进行重构
查看源代码/资源文件
查看源代码,我们可以直接利用IDEA的随处搜索,在IDEA界面的右上角,快捷键double Shift,然后输入我们要查找的类名即可
另外就是最简单粗暴的方法,直接翻外部库
我们找到Gradle: net.minecraft:minecraft-merged-xxx(这一串可能不一样):1.20.1-net.fabricmc.yarn.1_20_1.1.20.1+build.10-v2
在这个里面,我们可以找到Minecraft的源代码
net文件夹下存放的一般是Minecraft的源代码,我们可以直接查看

resource下的assets和data文件也是我们可以查看的东西
assets是资源文件,data是数据文件
启动!
折腾完以后,我们就可以启动我们的游戏了。我们可以在IDEA的右上角的运行中,
找到Minecraft Client运行,也可以找到gradle任务中的runClient运行
前面一个运行配置没有的话,可以退出重进一下
当游戏可以正常运行的时候,那么恭喜你!你已经完成了第一步!











