操作方法
首先我们输入 /give @s command_block指令调出命令方块,接着按图中的顺序 向外摆放 三个命令方块,注意三个方块 箭头的指向必须一致。
举个例子,比如用10个铁锭购买1个钻石。
然后我们点击第一个( 最里面的)命令方块,输入如下指令: clear @p iron_ingot 0 9(不需要加斜杠),点击完成。 解析一下这个指令:clear是 清除玩家身上物品的指令,@p代表 最近的玩家,iron_ingot是 铁锭的意思,0是 数据标签,9是 要清除的物品数量。这个指令的意思就是 清除最近玩家身上的9个铁锭。 这个指令中 clear、@p、0这三个元素不需要改变,只要改变物品ID和清除的数量。物品ID可以到网上查找,而 清除的数量必须是你想要清除的物品数量减1。在这里,我想要清除的数量是10,所以这里输入9。 格式总结: clear @p <物品名> 0 <清除数量减1之后的数量>
然后我们点击第二个命令方块,在指令中输入 clear @p iron_ingot 0 1。 这里的清除数量必须是1。接着,我们把中间的三个按钮分别调成 “连锁”“条件制约”“保持开启”。 格式总结: clear @p <物品名> 0 1
接着我们打开第三个命令方块,输入 give @p diamond 1。 解析:give是 给予玩家物品的指令,diamond是 钻石,1是 物品数量。这个指令就是 给予最近的玩家1个钻石。然后像第4步一样,把三个按钮分别调成 “连锁”“条件制约”“保持开启”。 格式总结: give @p <物品名> <物品数量>
我们测试一下这个红石商店的效果。如图,物品栏里有10个铁锭。
点击按钮,铁锭被清除,获得钻石,完美成功。
第二次测试,这次物品栏只有9个铁锭。
再次点击按钮,只删除了铁锭,却没有给予钻石,修复了旧版本红石商店中钱不够也能买到东西的bug。