登陆注册
66052300000152

第152章 真正深入了解NBT-4

在前三章,我已经讲完了字符和数值类型的数据类型,现在我们再来看看下表:

[字符]

字符串(String)

[数值]

{整形}

字节型(Byte:B)

短整型(Short:S)

整型(Int:I)

长整型(Long:L)

{浮点型(小数)}

单精度浮点型(Float:F)

双精度浮点型(Double:D)

[数据]

复合标签(Compound)

列表(List)

[数组]

字节型数组(Byte Array:[B])

整型数组(Int Array:[I])

长整型数组(Long Array:[L])

按照顺序,接下来就应该到了[数据]这个数据类型了。而里面的这两个:

复合标签(Compound)

列表(List)

都是我们已经非常熟悉的数据类型了,因为这两个数据类型特别常见。但神奇的是,它们也经常被忽略。

为何?

因为它们说到底,就是两种符号:

{}——复合标签(Compound)

[]——列表(List)

数据可以套娃在它们里面,而多个数据需要用英文半角逗号分割。

只不过,它们两的差别,是不是只有符号和名字的差别呢?

当然不是。

实际上,它们两绝对不是你想的那么简单。

首先,它们两的作用准确的来说是:

复合标签(Compound):包含一段独立的NBT标签。如{killname:“MNG“,killtime:6000}

列表(List):存储多个类型相同的数据。如{time:[2020,12,21]}。

看起来似乎也没什么不同的地方对吧?

我们知道,一个NBT最外层就是由{}来包裹着的,而里面存储着各个标签,每个标签用英文半角逗号分割。而复合标签也是这样子的,所以,复合标签的作用才这样说:包含一段独立的NBT标签。

如果你看不懂,那也没关系,我们可以通过名字理解。“复合标签”这个名字是由“复合”和“标签”。

“标签”这个词的意思相信大家都知道。那么“复合”又是什么意思呢?

答案很简单:指物体等因某种原因而结合起来

理解了“复合”的意思,再来看看“复合标签”,我们很快就可以理解这个词:

指多个标签结合起来

不得不说,汉语真是博大精深。那么接下来,我们再来看看列表。

上面已经说了,列表的作用就是:存储多个类型相同的数据。翻译这个为人话就是:把多个同样类型的东西统一存储起来。

这就说明了什么?这就说明了列表的“[]”包含的只能是指定类型的数据,实际上还属于值的范围。而{}包含的就不是指定类型的数据了,而是标签!这就是两种数据类型的不同之处。

所以在列表中才不用写数据类型,因为大家都一样。这就像是乘法分配律,把公因数都提取出来,进行简化算式。

现在搞懂这两个的区别了吧?我相信你已经搞懂了。

如果你还不懂,看看上面的两个例子。

好了,相信各位都已经准备好了,那么接下来我们就进入下一阶段。

我们知道,列表可以存储多个类型相同的数据。那么当数据是复合标签时,该怎么办?

很简单,其实这种情况我们已经遇见过很多次了,比如我们最了解的Enchantments(/?n?t??ntm?nts/)标签,我们都知道它的格式是这样的:

{Enchantments:[{id:<魔咒id:String字符串>,lvl:<级数:Int整形>}]}

可以发现,这里就出现了[{}]这种组合。如果你细心观察,你就会发现:列表里每项复合标签里的标签名称、格式都是完全一样的。

这说明了什么?这就说明了如果列表的项是复合标签,那么每个复合标签里的格式、标签名称都是完全一样的。

这很简单对吧?

实际上到此为止,关于复合标签和列表这两项数据类型就已经讲完了。

........

但此时,仍然有一个未解之谜:

我们知道,列表的项可以有很多。那么列表的项数到底有没有上限呢?

答案很简单:在没有明确规定列表的格式时,列表的项数理论上是无上限的。(明确规定列表格式的,比如在第一百三十二章讲到的ArmorDropChances)

只不过在实际操作过程中,列表还是有上限的:硬件。

嗯.......这可真是对了那句话:硬件决定上限,软件决定下限。

OK那么这一章就到这里了,我们下一章再见。

同类推荐
  • 网游之神临大地

    网游之神临大地

    适逢群雄逐鹿日,当是跃马中原时。世上谁人无失意,总有一朝立巅峰。待得那时,睥睨万物。纵横天下,唯我独尊。全球最大虚拟公司‘炎黄’集团‘龙朔国’特别工作组小组组长周华遭人暗算,清醒过来后却记忆缺失。得到总裁首肯后终于能够稍作休息,却又立刻投入了新开发的游戏……
  • 网游之武林风云录

    网游之武林风云录

    游戏停服,全球玩家进入(武林)竞技,每人初始“点卡”500年…
  • 蔡小姐和阮先生的掉分日常

    蔡小姐和阮先生的掉分日常

    蔡沁缘和她的小姐妹们一起打和平精英被内涵到自己是多么的菜,于是她奋斗了,努力了,差不多天天单人四排,天天看直播仅为不让自己菜。阮晏是蔡沁缘某天四排排到的小哥哥,然后阮晏深受其害,带着菜鸡蔡沁缘上【掉】分。小白文,不要那么多要求,QAQ
  • 明月为谁光

    明月为谁光

    飘满老坛酸菜味的房间,被使劲塞着袜子的泡面桶,窗外飘扬的一排排红裤头,这是青春给苟胜最深刻的印象了。
  • 穿越火线:创世

    穿越火线:创世

    当主角唐亦程在游戏生涯中得到了cf总冠军时,却为救人而丧生在车轮下,他醒来后,发现自己来到了另一个世界:创世的世界······
热门推荐
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • cf左手狙神,禽兽豪

    cf左手狙神,禽兽豪

    大家好,我是你们熟悉的娱乐小主编宇寒,今天就给大家带来一部关于陈子豪的解说小说,希望大家多多支持噢~(嘻嘻,人家是豪哥的小粉嘛…)嗯,写得不好勿喷噢…
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 未来的那个他会拯救现在的我吗

    未来的那个他会拯救现在的我吗

    为彷徨的未来献出自己的双手奋力拍打,大声说出:未来万岁!
  • 心脏

    心脏

    周反复做的一个恶梦,让他三个月来一直处于神经紧张的状态。他以为只是一个梦而已,没想到这个恶梦,竟真正的预示了他之后人生中的真正噩梦!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 星星踩在水面上

    星星踩在水面上

    一个人在阴暗处生活得久了,就会开始畏惧突然而来的光明。程西:对不起,我爱你,但是我们不能在一起。江迟:程西,我很心疼,无论是曾经的你,亦或是现在的你。沈澜:即使你和从前不一样,但我还是知道是你。
  • 今日素锦:来日年华

    今日素锦:来日年华

    对于这场青春,痛!是唯一的,少年时光渐渐逝去,我们汇入世界黑洞,情!是唯一的。看看书里面有没有你少年的影子?
  • 只是因为爱你才想你

    只是因为爱你才想你

    男女主家是世交,女主5岁时去世。因为家里原因,让男女主相遇。但他们怎么也没想到,会彼此爱上对方。可又有谁会知道,男主的父母却是杀了女主母亲的人