(此章节已于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——指定该『方块类物品』可以被放置于哪些方块上方