首页 男生 游戏竞技 Minecraft指令手册

第一百零九章 掉落物的NBT 下

Minecraft指令手册 你好MC 1395 2024-07-09 15:29

  (此章节内容不怎么重要,可跳过此章节)

  众所周知,使用/give指令可以让你获得指定的物品。

  比如指令『/give @s command_block』的作用就是让你获得一个命令方块。

  但你知道你是怎么获得这个命令方块的吗?

  在你运行该指令的那一刻,这条指令会被游戏进行处理,然后你就获得了这个命令方块。奇妙的是,在Java版,你似乎并不是直接获得命令方块,而是捡起了一个命令方块掉落物。

  如果那真的是一个掉落物的话,那么这个掉落物的属性是什么呢?

  Pickubr /Delay标签的值肯定为0,Age标签很有可能是6000。

  但此时又有一个新的问题出现了:如果是在服务器中,你站在茫茫人海,但这个掉落物仍然被你精准地捡起了,这是为什么呢?(说实话还没等你捡起你家宽带以及你的电脑就要主机火苗万丈高了)

  因为掉落物的NBT还有一个可能不存在的标签:Owner

  Owner标签的数据类型是复合标签,在Java1.16及以上版本是Int整型数组。它的值本质上是一个玩家的UUID,用来决定这个掉落物可以被哪个玩家捡起。

  举个栗子,假设有这么一个叫做『Liu_HuaQiang』的玩家,如果你要生成一个只能够被它捡起的掉落物,那Owner标签就得这样子填:

  {Owner:{UUIDMost:2332601084025456724L,UUIDLeast:-8594334449601351938L}}

  \\Java1.16版本以下\\

  {Owner:[I;543101011,-939046828,-2001024422,1385950974]}

  \\Java1.16及以上版本\\

  其中,UUIDMost和UUIDLeast这两个标签填的是这名玩家的UUID高位和UUID低位。我们会在下一章讲到UUID。

  这就是Owner标签的用法,只不过你现在其实并不需要急着去用,因为掉落物还可能会有一个标签。

  假设你在矿洞挖矿,刚刚挖到8颗钻石,你很兴奋,然后听到后面有一个........

  “嘶~~~”

  你转头一看:“Creebr /er?”

  “BOOOOOM!”

  恭喜你,你的钻石成为了一个掉落物。

  这颗钻石掉落物的NBT也值得研究。

  它的NBT除了上一章所说的,还有一个你从未见过的NBT标签:

  Thrower——这个物品本来是谁的

  和Owner一样,它的值也是一个玩家的UUID信息。当某名玩家把这个物品以某种形式丢掉了,这个物品的Thrower标签就会存储该名玩家的UUID。

  Thrower的用法和上面的Owner一模一样,这里就不细讲了。

  这一章到此为止。

  EaseCation真好玩——唉,好像作业还没做唉。

  附录:历史

  Java

  1.16——为适应新版本的UUID,Owner和Thrower标签的数据类型从复合标签改成Int整型数组。

目录
设置
手机
书架
书页
评论