关灯 巨大 直达底部
亲,双击屏幕即可自动滚动
第一百五十九章 深入了解NBT树和NBT路径

其中,{}是根标签的路径,也就是代指根标签。由于根标签是个复合标签,所以用大括号表示。

然后,对比『{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指令手册更新速度全网最快。