我的世界Minecraft 1.19 Mod開(kāi)發(fā)教程分享-15-添加玩家能力
創(chuàng)建文件和PlayerThirst類(lèi)
創(chuàng)建如下的目錄和文件

在PlayerThirst類(lèi)中放入如下的代碼
其中CompoundTag類(lèi)是一個(gè)存儲(chǔ)和操作NBT數(shù)據(jù)的類(lèi),NBT是Minecraft的一種數(shù)據(jù)格式。
CompoundTag類(lèi)可以存儲(chǔ)和讀取NBT標(biāo)簽,存儲(chǔ)和讀取數(shù)據(jù)。
可以將NBT添加到各種對(duì)象,實(shí)體,方塊和物品等。

創(chuàng)建PlayerThirstProvider類(lèi)

在該類(lèi)中加入如下的內(nèi)容
ICapabilityProvider接口表示支持一個(gè)能力
INBTSerializable是一個(gè)接口,表示將對(duì)象序列化和反序列化為NBT數(shù)據(jù),
serialize序列化方法,將對(duì)象轉(zhuǎn)化為NBT標(biāo)簽
deserializeNBT反序列化,
Capability類(lèi)表示一種能力,這里是玩家口渴的能力,
通CapabilityManager能力的管理類(lèi)
CapabilityToken能力的一個(gè)令牌
LazyOptional是一個(gè)可以延遲創(chuàng)建包含對(duì)象的類(lèi)
getCapability()返回對(duì)象支持的能力

注冊(cè)自定義能力
在ModEvents類(lèi)中加入注冊(cè)的代碼

加入如下的代碼

更改喝水發(fā)包的內(nèi)容


當(dāng)玩家在水源附近,就獲得玩家身上的PLAYER_THIRST能力,并增加口渴數(shù)值。提示信息。 否則也是一樣。

測(cè)試
當(dāng)沒(méi)沒(méi)有水源的時(shí)候

每按一次O增加一點(diǎn)

每隔一段時(shí)間會(huì)減少

最多是10
