用execute命令点石成金 我的世界命令方块教程

用execute命令点石成金 我的世界命令方块教程

execute还有一种探测方块执行的用法。 这种拓展用法就是:

execute <实体的定义> <执行事件的x坐标> <执行事件的y坐标> <执行事件的z坐标> detect <执行探测的x坐标> <执行探测的y坐标> <执行探测的z坐标> <探测方块id> <探测方块数据值> <事件指令>

看上去很繁琐,实际上就是把原先的execute和testforblock进行了合体。detect后面的坐标,就是用testforblock要探测的坐标,一般在execute指令中还是用偏移 ~ 的。方块ID、数据值就不用说了。ID在1.8后已经更新成英文ID了,数据值还是数字。该指令的用处就是:先找到执行事件的坐标,并用这个坐标代替命令方块探测testforblock,成立执行事件指令,不成立则跳过。

现在我们继续开始实战吧!

点石成金——细究探测的坐标

难度:☆☆☆

点石成金,就是踩上石头就变成金块。一共有两步:探测踩上的是不是石头,替换石头为金块。

利用execute指令,即可一步完成。上篇中提到脚占有的方块坐标皆是 ~ ,脚下的方块y坐标需要降低1格,即~-1。

而探测方块式的execute指令有两个y坐标偏移要填,到底应该将哪个y坐标降低1格呢?

将脚下的方块替换成金块指令:

/setblock ~ ~-1 ~ gold_block 0 replace

第一种execute格式:

/execute @a ~ ~-1 ~ detect ~ ~ ~ stone 0 setblock ~ ~-1 ~ gold_block 0 replace

踩下石头的结果:

125742vg9sz4r44ouvokzf.png.thumb.jpg

第二种execute格式:

/execute @a ~ ~ ~ detect ~ ~-1 ~ stone 0 setblock ~ ~-1 ~ gold_block 0 replace

踩下石头的结果:

125743pyxaqswy5wy8m5qz.png.thumb.jpg

很显然第二种格式是对的,原因就是探测的方块位置一样,但执行的位置不一样。从第一种的执行事件指令的坐标是在脚下踩得方块(石头),探测方块的偏移没有变,还是石头处。但执行事件指令/setblock的放置坐标又下移了一格,因此金块放错了地方。

第二种执行事件的坐标就是在原处,探测方块往下了一格,探测了脚下的方块。执行事件的指令setblock也是放置在脚下,所以没有错。

将第一种格式修改成下面的指令依旧可以成功,原因请自行思考吧!

发表评论

您必须 登录 才能发表留言!