天才一秒记住【第一中文网】地址:www.dyzww.cc
前十二章,我们详细地了解了生物的共通Nbt以及Nbt格式。但别忘了,本卷的名字叫做:
实体与Nbt
所以接下来,我们就要回归正题。
——第一节:关于下落的方块这个大类只有一种实体这档事
在第一百二十九章里,我们知道了很多关于实体的东东。比如:下落的方块是个实体。
但有没有人想过这么一个问题:
我在对下落的方块这种实体举例子的时候,为什么举了一个“下落的方块”实体的例子?
深入思考的话,我们就会得出一个神奇的结论:下落的方块这种实体只有一个实体——下落的方块(FallingSand[1.13之前]、falling_block[1.13及之后])
所以这就可以解释你在用kill清除实体时,就不会跳出来“下落的沙子”了,更不会跳出来“沙子”(因为这名字已经被掉落物占了),而是统一“下落的方块”。因为人家变成实体之后就统一成了一个实体。
再深入思考,我们又会得到一个问题:
统一成一个实体后,下落的方块是如何确定自身到底是什么方块的?
为了解决这个问题,我们可以回顾一下第一百零八章到第一百零九章对掉落物的介绍,就会得出一个对掉落物确定自己到底是什么物品的方法的结论:
用Nbt存储物品的信息
按理来说,用实验法来研究生物,得出结论后也就差不多了。但我们不是在进行一个生物实验,而是在学习Nbt。况且,就算我们这是一本生物书,生物学它本身也是一个:
...→观察并思考→提出问题→收集资料→作出假设→制定实验计划→实施实验并记录→得出结果→研究并思考→提出新的问题→...
所以我们可以研究这个结论,并提出一个新的问题:
为什么掉落物要用Nbt来存储物品的信息呢,而不用item_<物品Id>这样子每个物品的掉落物都有一个对应的单独实体?
答案很简单:
1mojang这个喜欢3的家伙很懒(主要原因)
2如果这样子做的话虽然也能达到目的,但游戏会更大
深入思考,我们还会得出一个震惊的结论:
这样子的话,那么掉落物这个大类也只有一个实体唉:掉落物
实际上还真是这样的,掉落物确实只有一个实体:minecraft:item
(注意!minecraft:item_frame这个实体实际上是物品展示框,而不是掉落物)
得出了这些结论,我们再来看看下落的方块。刚才我们发现下落的方块只有一个实体:下落的方块。这说明了什么?
下落的方块也是使用Nbt来存储方块的信息。
这就是上面那个问题的答案。
——第二节:下落的方块的Nbt
下落的方块中存储着方块信息的Nbt是:
blockState(复合标签)
意思是:block(方块)State(状态)
这个复合标签里有两个重要的东西:
Name(字符串):这个正在下落的方块的Id
properties(复合标签):可选,这个正在下落的方块的方块状态
举个例子。比如,现在这里有一个沙子被炸飞了,那么它的blockState很有可能是:
{blockState:{Name:“minecraft:sand“}}
properties这个先不管,方
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!