亲,欢迎光临天天书吧!
错缺断章、加书:站内短信
后台有人,会尽快回复!
天天书吧 > 玄幻魔法 > Minecraft指令手册 > 第一百零九章 掉落物的NBT 下
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

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

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

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

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

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

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

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

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

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

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

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

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

{owner:{UUIdmost:L,UUIdLeast:-L}}

\\\\Java1.16版本以下\\\\

{owner:[I;,-,-,]}

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

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

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

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

“嘶~~~”

你转头一看:“creeper?”

“booooom!”

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

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

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

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

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

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

这一章到此为止。

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

附录:历史

Java

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