第189章 ,/.

(此章节已于2022年8月5日重写)

在第八章中,我们了解了/give指令的用法。让我们回顾一下:

--Java1.13以下

/give <玩家:目标选择器><物品id:字符串>[物品数量:整数][物品数据值:整数][NBT标签]

--Java1.13及以上

/give <玩家:目标选择器><物品英文id:字符串>[物品数量:整数]

--基岩版

/give <玩家:目标选择器><物品id:字符串>[物品数量:整数][物品数据值:整数][附加标签:JSON]

值得注意的是,在基岩版的格式中,『物品数据值』参数后面竟然还有一个『附加标签』参数。等等,附加『标签』?难不成基岩版的指令中也可以使用NBT?

你想多了,这当然不是NBT,而是一个基岩版独有的非常类似于NBT但实际上是JSON的东西:

物品组件(Item Components)

物品组件这东西,正如其名,是可以用在物品上的JSON组件。由于使用的是JSON而不是SNBT的语法,因此物品组件的格式和Java版的NBT有些许不同。那到底有哪些物品组件?我们又该如何使用它们呢?

截止基岩版1.19.10版本,一共有4个物品组件:

can_place_on

can_destroy

item_lock

keep_on_death

虽然这里的JSON不是JSON文本,但这些组件和普通的原始JSON文本组件的用法仍然一样。

物品组件的值必须是一个JSON对象,也就是像下面这样:

{“物品组件“:{}}

而具体这个JSON对象内能够填写哪些东西,得看使用的是什么物品组件。

can_place_on和can_destroy这两个物品组件十分类似,它们俩也是最年长的物品组件,你或许早已知道它们的用途:

can_place_on——指定该『方块类物品』可以被放置于哪些方块上方