第108章掉落物的NBT上物品通用标签

物品的大致NBT就介绍到这了,接下来我们来看看实体的NBT。

当然,那些七七八八的四级物品NBT会在后面讲到。

如果你看过作品相关的:

“如何制作一个起床战争资源点“

那么你应该知道,在Java版,除了/clone+/setblock以外,还可以使用/summon指令来生成掉落物。

但是我并没有在那一章细讲。

所以今天,你将会从这里得知:掉落物的NBT

然后运用你学数学所用的技能——举一反三,来推断出怎样做一个更简单的起床战争资源点。

那么现在,我们正式开始!

(什么?Mojang改名了?Logo也改了?微软为了庆祝Minecraft11周年改的?)

————一个并不怎么华丽的分割线————

钻石《——假设这是你掉的钻石

你知道,如果你不在五分钟内捡起它的话,那么你幸幸苦苦挖到的钻石就会凭空消失。

你也知道,如果这颗钻石掉进岩浆,或碰到仙人掌以及火焰,那么这颗钻石也会消失。

但你可能不知道,上面这些,都是写在掉落物的NBT里的。

接下来,让我们进入钻石(掉落物)的NBT里,来研究研究:

{Age:0,Health:5,PickupDelay:0,Item:{unt:1,id:“diamond“}这是你掉的钻石的NBT。zuqi.org 葡萄小说网

其中,Age值为这个物品成为掉落物多久了,0代表着这个钻石刚刚掉落,值范围从-32767到6000(单位:游戏刻),如果设置为-32767,那么这个物品将会一直存在于这里(没错,你就不用担心死了之后跑回来在要捡起物品时物品突然消失所导致的德国boy行为了)。

那如果到了6000呢?恭喜,你的物品违反了能量守恒定律凭空消失了。

然后是Health,你肯定会很惊讶为什么掉落物也有生命值呢?实际上小编也——

实际上我不惊讶,因为我早就知道了(露出一个得意的笑容)

这个生命值决定了你的物品的抗火焰、岩浆以及仙人掌的能力(当然别做梦想着攻击一个掉落物),初始值为5,当为0时就会被销毁。

如果你不想让你的钻石被熔岩焚毁,那么你可以尝试修改修改这里的生命值。

于是——震惊MC科学界的发现!碳元素组成的钻石竟然没有被烧毁!(过于沙雕)

等等,这样子就可以解释为什么那些坑新手的MC教程里,钻石扔进熔岩并没有销毁了。

说不定你也被坑过(嘿嘿)。

回到正题,下一个值是:PickupDelay。

这个值就有意思了。当然,在介绍这个值之前,先让你了解一下掉落物的一个细节。

假设你现在扔掉了你的钻石在你的脚下,它并没有马上被捡起,而是过了一两秒之后,才被你捡起来。

(如果在很土豆的服务器,那么这个时间会更长)

为什么会这样呢?

就是因为PickupDelay。

PickupDelay值代表着剩下不能被捡起的时间,为0的话就可以被捡起。

因为这个值,所以你扔出去东西后才不会立马回到你的身上,而是要等一会儿。

如果你将这个值设定为了32767,那么恭喜你——你永远也捡不起这个钻石了,因为设定为32767后,这个值将不再会减少。

当然单位还是游戏刻。

最后,这个item是什么呢?

item接下去,就是物品通用标签了。

物品通用标签有:

unt[字节型:Byte]——物品堆叠的数量,默认为1。

Slot[字节型:Byte]——物品所在的栏位(为掉落物时没有这个值)

id[字符串:String|1.8到扁平化前支持数值,1.8前只支持数值]——物品id,神奇的是如果你不填,那么生成出来的掉落物就是一块石头。

tag——这个接下来就是物品的记分版标签了,比如ench等都在里面。

Damage[扁平化中被换职|字节型:Byte]——物品数据值

一般来说,生成一个钻石只需要填item这个项目就行了,其他都有系统默认。

但个人建议如果真的要做一个资源点的话,还是建议把Age调成-32767。

首先的unt,它的上限并不是64,而是127,具体原因是因为它的数据类型是Byte字节型,具体关于字节型是什么东西就要等到第一百三十五章了。因为它的上限是127,所以如果有个数据包会将东西翻倍,那么就会出现一个神奇的特性:一格物品栏有127个物品!

(这不就是一期懒狗生存吗?)

然后是Slot,一般来说这个我们并不需要特意去指定,具体内容我们等以后有遇到再讲。

id的话,上面不是讲了吗?当然,这里还是要详细讲一下。id在MC历史上有很多改变,在1.8以前,它是一个数值,因为在那个古老的年代,Minecraft的大多数id都是数字id(这点在现在的基岩版也比较明显),所以id自然就是数值类型的了。

而1.8之后,Mojang渐渐抛弃了数值id,升级成了更高级的字符串id,id标签也就变成了字符串类型。

接着是tag,上面也提了。

最后是这个Damage,这已经在第一百零三章就讲过了,为什么这里又出现了呢?

因为这个Damage,在扁平化之前,它也是物品通用标签的一份子,其作用就是:

储存这个物品的数据值

扁平化之后,哎,数据值没了。这个Damage就被Mojang调到tag下面了。

所以tag下面的Damage,是以后的事情了,以前的损害值,就是直接和物品数据值合在一起了(就像现在的基岩版一样)。

所以,这就是你的钻石(掉落物)的部分NBT,也是主要的NBT。

懂了这些,基本上就可以去弄一个特别高端大气上档次的起床资源点了。

但如果你还想要把高端高到突破天际,大气大到比太阳还大,上档次上到比上.......呃........

总之,还有下就是了。

上一章目录+书架下一章