Minecraft Fabric 进阶教程 #1 绘制按钮

简介: 在Mixin包里新建一个类

首发于Enaium的个人博客


在Mixin包里新建一个类

注入到TitleScreen.class

注入到这个类的init的方法的头部也就是最上面所以at是HEAD

因为init方法没有参数所以方法就是init()V

因为注入都有一个回调信息所以要有一个回调参数CallbackInfo

@Mixin(TitleScreen.class)
public class TitleMixin {
    @Inject(at = @At("HEAD"), method = "init()V")
    private void init(CallbackInfo info) {

    }
}

用IDEA反编译TitleScreen.classinit方法可以看到this.addButton这个就是添加按钮

s1-1

所以我们要在Mixin里面写添加按钮

需要继承Screen类

按照提示生成构造器就行了

protected TitleMixin(Text title) {
    super(title);
}

现在添加按钮

@Inject(at = @At("HEAD"), method = "init()V")
private void init(CallbackInfo info) {
    this.addButton(new ButtonWidget(20,20,200,20,"233",(action)->{
        System.out.println("By Enaium");
    }));
}

在x20 y20处绘制一个长200高20(高必须为20)的按钮标题为“233”点击触发action输出By Enaium

添加到mixin.json

我们运行一下看看

s1-2

成功

目录
相关文章
Minecraft Fabric 教程 #8 添加附魔书
这就创建了一个FireBoom附魔书 onTargetDamaged //当目标被攻击 在mc FireballEntity类有一个 方法就是当火球碰撞了就创建一个火焰爆炸的效果
78 0
Minecraft Fabric 教程 #9 添加盔甲
参数一 材料名字 参数二 耐久倍数 参数三 盔甲数也就是穿上盔甲加的盔甲值 参数四 使用的时候发出的声音 参数五 耐性
72 0
Minecraft Fabric 教程 #9 添加盔甲
Minecraft Fabric 进阶教程 #2 绘制界面
绘制界面不需用注入Mixin
108 0
Minecraft Fabric 教程 #5 添加语言文件
lang也就是你模组的翻译比如 中文简体 zh_cn 中文正體 zh_tw 英文 en_us
82 0
|
开发框架 .NET 区块链
Hyperledger fabric部署链码(五)初始化与链码升级
fabric部署chaincode-go(智能合约)系列之五
202 0
|
测试技术 Go 区块链
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
266 3
Hyperledger fabric 测试环境部署
|
JavaScript 测试技术 Go
Hyperledger fabric部署链码(一)打包链码
fabric部署chaincode-go(智能合约)系列之一
244 0
|
存储 JSON 安全
Hyperledger fabric智能合约编写(一)
本篇文章主要对链码编写的主要思路和部分API进行梳理。
174 1