欢迎光临散文网 会员登陆 & 注册

EP.9 检测方块【基岩版指令教程】

2023-08-12 12:00 作者:ThePlayer571  | 我要投稿

同学们好,我是ThePlayer571,我们继续来学习,基岩版基础指令。

本期我们将介绍/testforblock/testforblocks这两条指令,它们的作用都是检测方块

/testforblock

/testforblock,用于检测特定位置是否存在某个方块。语法为/testforblock <x> <y> <z> <方块名称> 。其中<x>,<y>,<z> 是想要检测的方块的位置;<方块名称>是想要检测的方块的名称。

例如,我们想检测(402,64,-378)处(即图中框选处)是否存在一个石头 (stone),就可以输入/testforblock 402 64 -378 stone

输入 /testforblock 402 64 -378 stone
检测成功

/testforblock 与命令方块的交互

众所周知,执行成功的命令方块能被比较器检测到。结合/testforblock指令,我们可以做出独特的装置。

情景需求

我是一名服务器的服主,我想制作一个求雨台(样貌如图所示),将钻石块(diamond_block)放在下界合金块上时,天气会变为雨天。

求雨台

实现方法

首先,确定钻石块的放置位置(336,66,-326)

坐标(336,66,-326)

然后使用testforblock 336 66 -326 diamond_block检测对应位置是否是钻石块,后面接上weather rain以调节天气。详情如图:

总览
第一个命令方块
第二个命令方块

/testforblocks

testforblocks,用于检测两个区域内的方块是否完全相同。语法是/testforblocks <源区域起始坐标> <源区域结束坐标> <目标区域角落的坐标>,与/clone的语法极其相似,选取源区域和目标区域的方式也是一样的,这里不过多赘述。

如果我们想检测如图两个区域内的方块是否完全相同,可以按照以下步骤进行。

检测这两个区域

首先,确定左方区域(源区域)的范围。如图,坐标分别为(422,78,-403),(424,76,-401)

坐标(422,78,-403)
坐标(424,76,-401) 这里为了测坐标把一个铁块打掉了

然后,确定右方区域(目标区域)西北下角的坐标。如图,坐标为(428,75,-402)

坐标(428,75,-402) 这里为了测坐标把一个铁块打掉了

输入指令/testforblocks 422 78 -403 424 76 -401 428 75 -402,检测成功。

输入 /testforblocks 422 78 -403 424 76 -401 428 75 -402
检测成功

同样,/testforblocks也能与命令方块结合,用法与/testforblock相同。

打个总结

本期我们学习了/testforblock/testforblocks这两条用于检测方块的指令,难度适中。实际上,这两条指令在Java版已经被废除了,这是因为MC存在这两条指令的平替,那就是/execute。虽然可以直接学习/execute,但先学习较简单的/testforblock打牢基础,也是有必要的。

本节课课后作业:

  • 输入一条指令,检测(3,5,7)处是否为金块(gold_block)。

  • 输入一条指令,检测(1,6,7),(3,4,9)范围内的结构是否和(12,15,17),(10,17,19)内的结构相同。

上节课课后作业答案:

  • 小明在输入指令的时候不小心打翻了墨水,他的指令有几处被遮住了(#处即被遮住部分):/fi## 0 0 0 # # 2 stone。指令的效果是:填充一个体积为27的立方体,请你将其还原。

/fill 0 0 0 2 2 2 stone

  • 成功执行一条/fill指令,将(422 76 -403),(424 78 -401)范围内的铁块(iron_block)替换为空气(air)。

/fill 422 76 -403 424 78 -401 air replace iron_block

  • 成功执行一条/clone指令,复制任意结构。

例:/clone 1 2 3 4 5 6 7 8 9



EP.9 检测方块【基岩版指令教程】的评论 (共 条)

分享到微博请遵守国家法律