其中,{}是根标签的路径,也就是代指根标签。由于根标签是个复合标签,所以用大括号表示。
然后,对比『{Health:5s}.Age』和『{}.Age』,我们会发现两者唯一的区别就在于根标签拥有一个值:Health:5s
很奇怪吧?明明路径就可以代表标签的值,为什么还要专门写一个特定的值呢?
其实,给路径中的一个标签加上值看上去多此一举,但实际上很有用。因为它有一个功能——过滤。
如果不加上Health:5s,那么单独的{}将代表任何一个根标签。但如果加上Health:5s,那么这仅能代表含有Health:5s这个标签的根标签。
比如{Health:5s}.Age虽然能选中上面钻石的Age值,但一定选不中下面这个钻石的Age值:
{Age:-1s,Health:s,PickupDelay:0s,Item:{Count:1b,id:“minecraft:diamond“}
同理,对于路径『Age』,我们也可以写成这样:
Age:100s
这看起来是一个SNBT,但其实也是个路径,意思是寻找根标签内值为100s的Age标签。
总而言之,如果给NBT路径内的某个或多个标签加上一个特定的值,那就能起到过滤的作用,使结果更加精确。
你现在应该知道如何获取所有钻石掉落物的Age值吧?让我们试一试!
/execute as @e run data get entity @s {Item:{Count:1b,id:“minecraft:diamond“}}.Age
返回:
钻石拥有以下实体数据:163s
钻石拥有以下实体数据:127s
钻石拥有以下实体数据:s
(上面的data指令之后再解释)
GOOD!另外,你应该能解释『{Item:{Count:1b,id:“minecraft:diamond“}}.Age』的意思吧?试一试描述一下它的意思。
上面的内容只是NBT路径的冰山一角,在下一章,我们将会继续深入了解NBT路径,但至于何时更新是个大问题。
喜欢Minecraft指令手册请大家收藏:()Minecraft指令手册更新速度全网最快。