物品的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标签之前,先让你了解了解一个掉落物的细节: