第一中文网

第一百五十八章 重新认识nbt (第3/4页)

天才一秒记住【第一中文网】地址:www.dyzww.cc

ordStarttick)。

你可以在minecraft wiki上搜索『唱片机』来具体了解上述标签的作用,Nbt都讲到这了你应该不可能看不懂minecraft wiki上关于Nbt的内容吧?

回到这棵Nbt树上,仔细观察它与它的SNbt形式,你应该不难发现,id节点的树叶上写着『“minecraft:jukebox“』,x、y、z节点的树叶上写着『-1』『60』和『-53』,Isplaying节点的树叶上写着『1b』,RecordStarttick和tickcount节点的树叶上写着『0L』和『514L』。在SNbt中,上面这些节点所对应的标签的值的类型都是字符串、Int整型、byte字节型和Long长整型。也就是说,String字符串、byte字节型、Short短整型、Int整型和Long长整型,以及其他的浮点数数据类型,在Nbt树中都无一例外承载于『树叶』之上。

而RecordItem节点,长出的是一条树干,树干上有id和count节点。在SNbt中,RecordItem标签的值类型是复合标签,复合标签内也有id和count标签。也就是说,『复合标签』在Nbt树中所体现出来的就是一条树干。

也就是说,整个Nbt标签其实就是一个复合标签?

没错,确实是这样。

通过上面的观察,你应该已经总结出来了Nbt树与SNbt的一些对应关系,比如节点对应标签名,树干对应复合标签。那……列表呢?在Nbt树中,列表又是长什么样子?

还记得上面的『Apple』节点吗,我们在研究节点的路径(path)时,遇到了一个节点长出两条树干的情况。如果我们以SNbt的形式将『Apple』节点表示出来,其实就是这样的:

{Apple:[{cen:{Sama:}},{touhou:}]}

在SNbt中,『Apple』标签的值就是一个复合标签列表!列表的顺序规定了列表内每个元素(element)的索引值(index)。和生活中数数不一样的是,列表的索引并不是从1开始,而是从0开始,这就是为什么我们给『cen』节点所在的树干标上索引0而不是1的原因。

同理,如果一个节点长出了一堆承载相同类型数据的叶子,那这个节点的值也是一个列表(或数组)。如果一堆值是列表的节点挤在一起,那这一堆节点所形成的大节点自然也是一个值是列表的节点,而且这列表还是列表的列表:

{节点:[[{},{},…],[{},{},…],…]}

\\\\它的SNbt形式\\\\

只不过,像这样的二维列表,甚至是三维列表,我们在之前都没有碰到过,在以后也很有可能不会碰到。

这就是Nbt的树状结构,也就是真正的Nbt。看起来讲了很多,但其实内容并不是很难,唯一的难点估计是语言比较枯燥。

但这并不是本章唯一的重点。你应该还记得刚才讲的『节点的路径』。相比于Nbt的树状结构,我们会在接下来的内容中更常碰见节点的路径(path)。其实,这个『节点的路径』,就是Nbt路径(Nbt path)——用来从Nbt数据树中指定一系列特定元素的描述性标签。

在接下来的\/data指令中,Nbt路径是非常重要的一个东西,可以说只要你掌握了Nbt路径,你就几乎掌握了\/data指令。我们会在下一章更加深入了解Nbt路径,但在此之前,请你『务实一点,把Nbt的战术打法,Nbt树的这个理念先搞懂』——范志毅,国家minecraf

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

都市超品仙医 活在两个世界 大秦:这个太子总想着造反 与其说瞎话不如 穿越万界:神功自动满级 诛神乾坤 多子多福,仙女都被他抢了怎么办