我的世界Minecraft 1.19 Mod开发教程分享-16-自定义HUD

2023-07-02 03:10:25         来源:哔哩哔哩   

创建HUDclass类

创建对应的包和类

写入了以下的内容

其中ResourceLocation类说过是资源定位的类。


(相关资料图)

这里定位了两个图片。这个图片在tutorailmod/textures/thirst/目录下

资源定位的位置是在

在该类中继续加如下的代码

IGuiOverlay 是一个在游戏界面上显示自定义图形的类。

注册我们写的写的HUD 在ClientEvents类中注册的我们的HUD

其中RegisterGuiOverlayEvent是注册渲染事件的

具有如下的几个方法,其中第一个是在所有图层的上面,第二个是在指定图层的上面,在指定图层之下,在所有图层之下。

测试渲染

开启游戏测试,我们的空瓶子渲染了出来

创建一个Data类

创建该类

加入如下的代码

创建一个服务器向客户端发包的包

再该目录创建这个类

类中加入如下的内容

别忘了注册数据包

在需要的时候发送数据包

什么时候发送数据包给客户端更新客户端的数据呢?是在更改thirst的数值的时候去发送数据包。

客户端向服务器发送数据包时候也应该给客户端发送数据包。通知thirst的数值已经更新。

给客户端发送数据包

还有一件事情就是在客户端加入到服务器时候就需要初始化的加载一次thirst的数值,初始化就需要发一个包。除此之外当thirst减少的时候也需要发包更新hud

回到Modevent这个类

当thirst的数值减少的时候发包

再在客户端绘制喝了水的小水瓶。

回到这个类

设置渲染的textrues为我们的FILLED_THIRST textures

ThirstHudOverlay类的完整代码如下

测试

已经可以看到了水瓶的效果了

每次喝水可以增加Thirst的数值

缺失一个水就减少

相关阅读