第189章 ,/.

你会发现两者总体的变化并不是很大,最主要的变化也就是在『栏位』参数和『物品ID』参数间多出了一个with,这个with的作用是用来告诉游戏:我仅仅只是指定一个要替换成的物品而已,也就是使用传统的替换功能。还有一个比较小的变化就是,栏位ID前面没有『slot.』前缀了。

我们现在来看看新的替换模式:from复制模式

item新添加的『复制模式』要指定两个物品栏位,第一个栏位是目的地,第二个栏位是来源。比如:

/item replace entity @s armor.head from entity @s weapon.offhand

这将会把你副手(weapon.offhand)所持有的物品复制到你的头上。第一个指定的『entity @s armor.head』即目的地,第二个指定的『entity @s weapon.offhand』即来源。

再来一个例子:

/execute as @a at @s if block ~~-1 ~ minecraft:furnace run item replace block ~~-1 ~ container.2 from block 35 65 26 container.0

这将会把所有玩家脚底下熔炉输出槽内的物品替换为坐标为(35,65,26)的容器的第一个槽位内的物品。假设这个容器是一个箱子,箱子的最左上角放着三颗钻石,那么运行上述指令过后,所有玩家脚底下熔炉的输出槽内都会有三颗钻石。(注:箱子最左上角的栏位ID为container.0,熔炉输出槽栏位为container.2)

还是比较简单的嘛。接下来我们来看看item添加的全新功能:物品修饰器。

什么是物品修饰器呢?简单来说,物品修饰器里面设定了一些程序,这些程序会对物品本身进行一些修改。我们可以通过item命令给指定栏位内的物品添加上一个物品修饰器,然后这个物品就会被物品修饰器所修饰。

举个例子,假设有一个ID为『arcaea:kill_tairitsu』的物品修饰器,这个物品修饰器会对物品本身进行一些修改,使得该物品在攻击名为『Tairitsu』的实体时能够发挥出超强的攻击力。我们可以通过以下指令给我们主手上的物品添加上这个物品修饰器:

小主,

/item modify entity @s weapon.mainhand arcaea:kill_tairitsu

这将会给我们主手拿着的物品添加上这个物品修饰器,然后你就能拿着这个物品去挑战名为『Tairitsu』的实体了。

虽然物品修饰器功能强大,但它和谓词一样,都是数据包才有的,原版并没有任何的物品修饰器。因此如果你要使用物品修饰器,首先你就得弄一个具有物品修饰器的数据包出来。

这就是本章的全部内容了。

附录①:Java1.17新版本槽位ID

箱子、陷阱箱、发射器、投掷器、漏斗

container.<槽位编号>——从左到右、从上往下、从0递增

酿造台

container.0-2 ——底部从左到右

container.3 ——顶部

container.4 ——烈焰粉槽位