简叙
Minecraft 新版本当中,Fabric Mod Loader势头挺好,而且有跟老牌Mod API Forge叫嚣的可能性了现在,因此,笔者放弃了学习Forge,转而学习Fabric,本文对Fabric官网上已有的内容不重复描述(官网见:Fabric官网 ),本文不是系统教程,只是一篇Cook Book。
学习本教程之前,请务必先浏览官网提供的教程!
快速构建项目
从Github上将官方实例Mod拉取到本地后,在运行项目下CMD执行:
gradlew idea //如果你使用Intellij作为你的IDE
gradlew vscode //使用vscode
这将会构建与你IDE相对应的开发环境,两个环境可以都构建,不互相冲突。
构建完环境后,你就可以开发mod了。
gradlew build
运行Build后,会在builds/libs/ 下生成你的Mod.jar文件,这个就是可以使用的mod了。
同样的,你可以在Github上浏览别人的开源mod,然后自己修改或者重新构建。
构建完环境后,你的IDE就会自动关联Fabric提供的Minecraft相关的外部jar引用,你就可以查看
例:Intellij Idea的效果:
在这些外部包当中,你可以一个一个查看,但是最重要的包是
net.minecraft:minecraft:1.17.1-mapped…jar
这个包是Minecraft的原始内核包,Mixin的修改主要就是针对该包,因此如果你想实现某种效果,首先需要在该包当中找到你需要修改的东西,然后利用Mixin进行修改。构建完运行环境后,打开IDE,
Mixin学习
关于Fabric如何创建新物品等官网上以后,不再赘述。
下面依次讲解如何利用@Inject @Accessor @OverWrite @Shadow去修改Minecraft的内核,从而实现一些awesome的效果。
@Inject
@Inject是最基础的注入器 ,@Inject允许你修改 原始的 类。
用法实例,注入Blocks类,修改原木的硬度:
import net.minecraft.block.Blocks;
@Mixin@Mixin(Blocks.class)
public class BlocksInject {
@Inject(method = "createLogBlock", at =