Minecraft 17.1 Fabric 与Mixin 教程[@Accessor @Inject @OverWrite @Shadow的正确用法][COOKBOOK]

本文是Minecraft Fabric Mod开发的Cookbook,重点讲解了如何使用Fabric和Mixins修改游戏内核。通过快速构建项目,详细介绍了@Inject、@Accessor、@OverWrite和@Shadow的用法,帮助开发者实现对Minecraft原版功能的自定义修改。
摘要由CSDN通过智能技术生成

简叙

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的效果:
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 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值