mojang一向不让修改玩家的NBT。
虽然最近可以用store存tag里的值,但是限制仍然很大。
最近出现了一种新的方法来修改。
loot table里有了一个新的function:copy nbt
而我问了开发者,可以用{}表示根。
这样就可以获得一个tag和已知物品完全一样的东西。
但是id和个数没办法。只能枚举一遍。
不过通常也不需要这样完全枚举一遍。比如我想要把药水瓶换成效果一致的药水箭,或者给玩家的剑加一个tag,就不需要枚举个数和id。
最后使用loot指令让玩家“杀”一个设置了loottable的生物,并把东西覆盖原来的东西即可
=================
当然了,这样花样就很多了。
可以共用同一个loot table,里面枚举了所有可能的id和个数
用的时候先复制玩家某格的物品到生物的头上,做一番修改,然后再使用loot指令替换玩家物品栏
也可以每个都创建一个loot table,直接判断killer的物品槽,对物品的修改直接用loot table的function完成。