我的世界Minecraft 1.19 Mod開發(fā)教程分享-16-自定義HUD
創(chuàng)建HUDclass類
創(chuàng)建對應的包和類

寫入了以下的內容
其中ResourceLocation類說過是資源定位的類。
這里定位了兩個圖片。這個圖片在tutorailmod/textures/thirst/目錄下

資源定位的位置是在

在該類中繼續(xù)加如下的代碼

IGuiOverlay 是一個在游戲界面上顯示自定義圖形的類。
注冊我們寫的寫的HUD 在ClientEvents類中注冊的我們的HUD

其中RegisterGuiOverlayEvent是注冊渲染事件的

具有如下的幾個方法,其中第一個是在所有圖層的上面,第二個是在指定圖層的上面,在指定圖層之下,在所有圖層之下。


測試渲染
開啟游戲測試,我們的空瓶子渲染了出來


創(chuàng)建一個Data類
創(chuàng)建該類

加入如下的代碼

創(chuàng)建一個服務器向客戶端發(fā)包的包
再該目錄創(chuàng)建這個類

類中加入如下的內容
別忘了注冊數據包



在需要的時候發(fā)送數據包
什么時候發(fā)送數據包給客戶端更新客戶端的數據呢?是在更改thirst的數值的時候去發(fā)送數據包。
客戶端向服務器發(fā)送數據包時候也應該給客戶端發(fā)送數據包。通知thirst的數值已經更新。


給客戶端發(fā)送數據包

還有一件事情就是在客戶端加入到服務器時候就需要初始化的加載一次thirst的數值,初始化就需要發(fā)一個包。除此之外當thirst減少的時候也需要發(fā)包更新hud
回到Modevent這個類

當thirst的數值減少的時候發(fā)包


再在客戶端繪制喝了水的小水瓶。
回到這個類

設置渲染的textrues為我們的FILLED_THIRST textures

ThirstHudOverlay類的完整代碼如下

測試
已經可以看到了水瓶的效果了

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

缺失一個水就減少
