物品的NBT就先讲到这,如果你还想了解更多,可以前往Minecraft Wiki搜索词条『Player.dat格式』,里面写了很多常用的物品标签。从这一章开始,我们就要开始学习实体的NBT。
.......
如果你看过『作品相关』的:
『如何制作一个起床战争资源点』
(现在不推荐你看这一章)
那你应该知道,在Java版,除了那一章讲的方法以外,还可以使用/summon指令来快捷生成掉落物。而这种方法的核心,就是:掉落物(minecraft:item)的NBT。
(什么?Mojang改名了?Logo也改了?微软为了庆祝Minecraft11周年改的?)
————一个并不怎么华丽的分割线————
钻石<——看!你掉了一颗钻石在这!
你知道,如果你不在五分钟内捡起它的话,那么你幸幸苦苦挖到的钻石就会凭空消失。
你也知道,如果这颗钻石掉进岩浆,或碰到仙人掌和火焰,那么这颗钻石也会消失。
但你可能不知道,上面这些,都是写在掉落物的NBT里的。
接下来,让我们进入钻石(掉落物)的NBT里,来研究研究:
{Age:0s,Health:5s,PickupDelay:0s,Item:{Count:1b,id:“minecraft:diamond“}
↑↑↑这是你掉的钻石的NBT,需要注意这只不过是一个简化版↑↑↑
其中,Age标签的数据类型为Short短整型,它唯一的作用是记录『这个物品已经掉落多长时间,以方便游戏清除掉落时间过长的物品』,它的单位为『游戏刻』。此时Age标签的值为0,说明这个钻石刚刚才掉落。该标签实际可发挥作用的值范围为『-~6000』,如果设置为『-』,那么这个物品将会一直存在于这里(没错,你就不用担心死了之后跑回来在要捡起物品时物品突然消失所导致的德国boy行为了)。
那如果到了6000呢?恭喜,你的物品违反了能量守恒定律凭空消失了。
然后是Health,你肯定会很惊讶为什么掉落物也有生命值呢?实际上小编也——
实际上我不惊讶,因为我早就知道了
Health标签的数据类型也是Short短整型,它的值决定了你的物品的抗火焰、岩浆以及仙人掌的能力(想攻击一个掉落物?做梦!),游戏默认值为5,当为0时就会被销毁。
如果你不想让你的钻石被熔岩焚毁,就可以尝试修改修改这个Health标签的值。
于是——震惊MC科学界的发现!碳元素组成的钻石竟然在超高温下仍然健在!
(这样子就可以解释为什么那些坑新手的MC教程里,钻石扔进熔岩并没有被销毁了。)
→记住:永远不要和MC讲科学
PickupDelay这个标签有点有趣。在介绍这个NBT标签之前,先让你了解了解一个掉落物的细节:
假设现在将钻石扔到你的脚下,你会发现:钻石在落地后并没有马上被你捡起,而是过了一两秒之后,才被你捡起来。
(如果在很土豆的服务器,这个时间会更长)
为什么会这样呢?
就是因为PickupDelay标签。
PickupDelay标签的数据类型也是Short短整型,它的值代表着掉落物剩下不能被捡起的时长,每游戏刻它的值都会减少1,当它的值减到0时就代表掉落物可以被玩家捡起。
就因为这个标签,导致你扔出去东西后不会立马回到你的身上,而是要等一会儿。
如果你将这个值设定为,那恭喜你——你永远也捡不起这个钻石了,因为设定为后,这个值将不再会减少。
Item标签的数据类型是复合标签,它存储着该掉落物的核心——物品的信息。那这物品的信息到底是通过哪些标签储存的呢?
接下来,容许我隆重介绍Minecraft中三大通用标签之一的:
物品通用标签
『物品通用标签』具有下面几个标签:
Count(Byte字节型)——物品堆叠的数量。
Slot(Byte字节型)——物品所在的栏位(很多情况下不会有这个标签)。
id(String文本|JE1.8前只支持数值)——物品命名空间ID。神奇的是如果你不填,那么游戏会把物品认成石头。
Damage(扁平化中被换职|Short短整型)——物品数据值
tag(复合标签)——关于当前物品的额外信息,我们前几章了解的各种物品标签其实都存储在这个复合标签里面。
举个例子,假设你的副手拿着三颗附魔了锋利I的钻石,那么这三颗钻石的物品NBT标签就是:
这章没有结束,请点击下一页继续阅读!
喜欢Minecraft指令手册请大家收藏:(m.2yq.org)Minecraft指令手册爱言情更新速度全网最快。