我们现在学会了如何探测实体,那方块呢?
使用/testfo
lock和/testfo
locks。
这两个指令只相差1个字母,但是功能却大径相庭。在英文中,blocks是blk的复数。也就是说,/testfo
lock是探测单个方块,而/testfo
lock是探测多个方块。
真有这么简单吗?
/testfo
lock
作用:探测指定位置是否为某种方块。
需要权限等级:Java-2,基岩-1
需要作弊:是
格式:
基岩版
/testfo
lock 探测位置:坐标方块ID:字符串[数据值:整数
之前
/testfo
lock 探测位置:坐标方块ID:字符串[数据值:整数
/testfo
lock 探测位置:坐标方块ID:字符串[方块状态
很不幸的是,虽然Java版和基岩版都有加入这条指令,但是Java版中这条指令在版本的第三个快照时被移除了。所以说:
/testfo
lock in Java
生于版本13w37a
死于版本17w45a
算了,正经点。
举个例子,比如:
/execute atestfor -1minecraft:redstone_block
就是探测每个玩家其脚底下是否是红石块,是则成功,否则失败。
然后是/testfo
locks。刚才说过这里多了s,也就是多个方块,那么是怎么探测的呢?
先来个介绍:
/testfo
locks
作用:探测指定区域是否与另外一个指定区域完全相同
需要权限等级:Java-2,基岩-1
需要作弊:是
格式:
/testfo
locks 源区域起始坐标源区域终止坐标比较区域下西北角坐标[模式:masked|all
比较时先通过/fill选择区域的方式确定源区域,再与要比较区域进行比较。只不过这个要比较区域的位置填写就挺蛋疼:你得找到要比较区域的下西北角(专业术语叫做区域基点)。
哪里是下西北角呢?
区域内XYZ三个值最小的地方。
这两个区域的大小由第一个定,所以比较的区域就直接给一个角了。
以后的/clone指令(复制指令)也是这种形式。
举个例子:
/testfo
locks -1 -1 -1 1 -1 1 -1 2 -1
作用是:检测执行者脚下3x3的区域是否和头顶3x3的区域完全一样
/testfo
locks还有两个比较模式:
all和masked。
all(默认模式)——比较全部。
masked——忽略源区域的空气方块(即源区域的空气方块可以代替要比较区域的任何方块)
这两章所讲的3条指令,要发挥全部作用就需要和红石比较器配合,不只是单单的用命令方块执行哦!
历史
Java
——加入了/testfo
lock
1.8——加入了/testfo
locks
——/testfo
lock支持方块状态
——因为execute if的出现,/testfo
lock和/testfo
locks被移除。
携带版Alpha
——加入了/testfo
lock和/testfo
locks