我在进行1.16.5的spigot插件开发。
我之前操作【物品nbt】的时候获取他的nbt中的tag就可以设置了如:nbt=NBT.itemStackToNBT(item).getCompound("tag");
但是现在我想操作玩家的nbt,根据以下代码获取其中的tag却是null。
NBTCompound nbt=new NBTEntity(e.getPlayer()).getCompound("tag");
该如何获取玩家正确的可操作nbt呢?
【表达的可能有点乱,但是大佬们应该能理解我的意思吧
】
我之前操作【物品nbt】的时候获取他的nbt中的tag就可以设置了如:nbt=NBT.itemStackToNBT(item).getCompound("tag");
但是现在我想操作玩家的nbt,根据以下代码获取其中的tag却是null。
NBTCompound nbt=new NBTEntity(e.getPlayer()).getCompound("tag");
该如何获取玩家正确的可操作nbt呢?
【表达的可能有点乱,但是大佬们应该能理解我的意思吧

其实吧,实体和方块实体都是没有nbt的,用/data编辑nbt的时候实际上是把实体的各种属性(位置、血量之类的)从原有的形态(double、float之类的)转化成了nbt,或者从nbt转化成实体的属性
而且也没有必要编辑实体nbt啊,原版改实体属性只能用/data,你用插件不是想改啥就改啥吗,为啥要通过nbt改?
而且也没有必要编辑实体nbt啊,原版改实体属性只能用/data,你用插件不是想改啥就改啥吗,为啥要通过nbt改?
首先tag这个标签是不存在于实体上的,其次,如果你在1.16.5想给实体添加自定义可持久化的NBT数据,建议使用PersistentDataContainer