天才一秒记住【第一中文网】地址:www.dyzww.cc
都会被省略不写。如果不省略,那整个路径会变成:
{}.Age
其中,{}是根标签的路径,也就是代指根标签。由于根标签是个复合标签,所以用大括号表示。
然后,对比『{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路径,但至于何时更新是个大问题。