我的世界testforblocks原版命令方块指令解读。在新版的原版游戏中,命令方块指令中的testforblocks和testforblock其实是两个不一样的指令。虽然都是对比方块的,但是testforblocks这个指令对比的是一个区域的方块。
原版testforblocks指令解读:
/testforblocks指令切勿和/testforblock搞混,一个是/testforblocks,一个是/testforblock)。
这条指令的用处就是对比2个区域的方块,如果对比成功就会输出(两个区域方块完全相同),对比失败就会关闭输出。这个和/testforblock差不多,只不过/testforblocks可以对比一个区域的方块,而不是单个方块。
首先,指令的格式是:
/testforblocks [格式]
大家看见,这个和/clone一样,有3个XYZ。这3个XYZ和/clone的一样,前2个是控制区域1,后面的是控制区域2。比如,如果我使用:
/testforblocks 1 1 1 3 3 3 10 10 10
那么指令方块就会选中坐标1,1,1和3,3,3内的方块,然后和10,10,10区域内的方块进行比较(和/clone一样,区域2的坐标(XYZ),就是建筑北西处的坐标,也就是-x,-z)。
之后就是格式,目前只有2个格式:
all - (默认就是all)
对比所有的方块,不管是什么方块。空气也会被对比。
masked - 不会对比空气方块
比如:如果区域1和区域2一样,但是在区域1的空气方块处,区域2有几个建筑方块,那就会被无视。
所以如果我使用:
/testforblocks 1 1 1 3 3 3 10 10 10 all
那么指令方块就会对比区域1,1,1和3,3,3,然后和10,10,10的地方比较。如果有不同的话那么指令方块不会输出,即使是空气。
但是,使用:
/testforblocks 1 1 1 3 3 3 10 10 10 masked
这样子指令方块也是会把区域1,1,1和3,3,3,对比10,10,10,但是会无视空气方块。如果1,1,1和3,3,3内有空气方块,而在10,10,10内这些空气方块是其他方块,指令方块还是会照样输出,因为无视了空气方块,指令方块只会对比1,1,1和3,3,3到10,10,10的非空气的方块。
(注意:/testforblocks和/testforblock和/testfor一样,如果要不停探测的话,那需要一个脉冲)
小编点评:/testforblocks指令突出点还是比较容易发现,那就是对于区块的对比。这这种指令一般出现在大型的一键生成装置代码中。