我的世界Minecraft 1.19 Mod开发教程分享-15-添加玩家能力
创建文件和PlayerThirst类
创建如下的目录和文件

在PlayerThirst类中放入如下的代码
其中CompoundTag类是一个存储和操作NBT数据的类,NBT是Minecraft的一种数据格式。
CompoundTag类可以存储和读取NBT标签,存储和读取数据。
可以将NBT添加到各种对象,实体,方块和物品等。

创建PlayerThirstProvider类

在该类中加入如下的内容
ICapabilityProvider接口表示支持一个能力
INBTSerializable是一个接口,表示将对象序列化和反序列化为NBT数据,
serialize序列化方法,将对象转化为NBT标签
deserializeNBT反序列化,
Capability类表示一种能力,这里是玩家口渴的能力,
通CapabilityManager能力的管理类
CapabilityToken能力的一个令牌
LazyOptional是一个可以延迟创建包含对象的类
getCapability()返回对象支持的能力

注册自定义能力
在ModEvents类中加入注册的代码

加入如下的代码

更改喝水发包的内容


当玩家在水源附近,就获得玩家身上的PLAYER_THIRST能力,并增加口渴数值。提示信息。 否则也是一样。

测试
当没没有水源的时候

每按一次O增加一点

每隔一段时间会减少

最多是10
