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

你应该知道它有三个意思:

①这代表Sama标签的路径,你可以通过这个路径来找到这个标签

②这代表Sama这个标签

③这代表Sama这个标签的值

而在Minecraft中,NBT路径最常见的意思就是第二和第三个——代表一个标签和或其值。或者说,NBT路径最常见的作用,就是用来寻找并获取到一个标签,然后对这个标签的值进行一些操作。

举个简单的例子,还记得你在第一百零八章掉下来的钻石吗?把它拿过来再看看:

{Age:0s,Health:5s,PickupDelay:0s,Item:{Count:1b,id:“minecraft:diamond“}

↑↑↑这是你掉的钻石的NBT,需要注意这只不过是一个简化版↑↑↑

如果我们要使用/data指令来获取到这颗钻石Age标签的值,这个NBT路径该怎么写?

很简单,就一个单词:

Age

然后在聊天框中就会返回:0s

但其实你也可以这么写:

{Health:5s}.Age

这是怎么一回事?前面的{Health:5s}是咋冒出来的?

这虽然是个多此一举的写法,但我们从中也可以了解到NBT路径的一个特殊功能:匹配特定的NBT标签

有时候,我们固然想要得到一个标签的值,但当我们想把范围缩小时,比如想要获取所有钻石掉落物的Age值,我们可能就无从下手。但其实,这有两种方法:

第一种,使用目标选择器;第二种,在NBT路径内加入一些匹配标签用的值。

其实这两种方法的原理都一样,但由于目标选择器的nbt参数我们不现在讲,因此先来看看第二种方法。

首先,路径『Age』虽然是正确的,但其实在这里省略了一些东西。

什么东西?没错,根标签呢?

一般情况下,根标签都会被省略不写。如果不省略,那整个路径会变成:

{}.Age