我的世界指令如何检测实体,我的世界指令如何消除所有实体

首页 > 游戏 > 作者:YD1662023-12-31 20:56:32

本文共1340字,预计阅读5分钟50秒

大家好,我是一只末影小。今天依旧给大家分享麦块的指令教学。这篇文章将会讲到3个指令,作用分别是检测实体、检测方块和检测区域的方块,都与检测有关,当你学会这些指令后,对于建造地图是有很大的帮助的。

我之所以把这三条指令放在同一篇文章中讲解,是因为这三条指令Java版与Bedrock版通用,并且参数比较少,单单讲解其中任意一条指令,文章的篇幅就比较少。首先我们来讲一下检测实体的指令。

检测实体

我们在地面上放下一个命令方块,在里面输入/testfor @e[type=creeper,dy=1],方块类型循环、保持开启,这段指令是什么意思呢?就是检测是否以命令方块为顶点,向y轴顺延1格的位置有一个苦力怕,如果有,就返回是,否则返回无。

我的世界指令如何检测实体,我的世界指令如何消除所有实体(1)

检测实体指令

y轴顺延1格其实很容易理解,就是命令方块的上方1格,我们在命令方块的上方生成了一只爬行者,所以命令方块前面的红石比较器就亮了,红石比较器可以用于检测命令方块是否执行成功。这条指令只有一个参数,就是检测实体的目标选择器。目标选择器是什么,我在往期的文章中有提到过,大家不明白可以去看一看。这里我使用type=creeper,dy=1只是做示范,大家可以使用其它的目标选择器参数筛选其它的实体。

我的世界指令如何检测实体,我的世界指令如何消除所有实体(2)

testfor指令

这条指令用处比较大,比如你在制作解密地图时,你就可以通过这条指令来触发条件,例如玩家走进某个位置,就会得到剧情,大家也可以自行探索其它的作用。我在和别人一起制作地图时就用到了这条指令。

检测方块

检测方块指令稍微繁琐一点,检测方块的指令共有三个参数,分别是方块坐标、方块id和数据值,命令是/testforblock,我们在命令方块中属于/testforblock ~ ~1 ~ grass,一个波浪线表示当前坐标轴,y轴波浪线后面有一个1,就表示y轴 1,因为方块不是实体,所以不能用dy。

我的世界指令如何检测实体,我的世界指令如何消除所有实体(3)

testforblock指令

坐标很好理解,方块ID需要使用英文的,这里再和大家说一说数据值怎么确定。以羊毛wool为例,我们打开物品栏,找到所有羊毛,发现白色羊毛在第一位,所以白色羊毛的数据值是0,橙色羊毛排在第二位,所以橙色羊毛的数据值为1,以此类推。有一些方块没有数据值,我们填写0或者直接不填写即可。

我的世界指令如何检测实体,我的世界指令如何消除所有实体(4)

检测方块

检测区域方块

检测区域方块与检测方块指令相似,检测区域方块的指令是/testforblocks,只是在检测方块的基础上加了一个s,作用也是大同小异。检测区域方块就是把一个区域内的方块和另一个区域的方块进行对比。一共有4个参数,分别是:源区域起始坐标、源区域结束坐标、目标区域坐标和检测类型,一共要填写三个坐标。例如我使用了这样的一条指令:

我的世界指令如何检测实体,我的世界指令如何消除所有实体(5)

检测区域方块指令

/testforblocks ~ ~ ~-2 ~ ~ ~-2 ~ ~ ~-4 masked,就是检测~ ~ ~-2到~ ~ ~-2的除空气外的所有方块是否与~ ~ ~-4相同。检测类型有两种写法,分别是all和masked,all表示所有方块,masked表示除了空气方块的方块。

Wiki百科对于all和masked是这样描述的:

all:两个区域的所有方块必须完全相同。

masked:源区域的空气方块可匹配目标区域的任意方块。

这条指令可用于解密闯关地图的答题游戏、自定义合成等。

我的世界指令如何检测实体,我的世界指令如何消除所有实体(6)

检测区域方块

那么这篇图文就到这里,关注我第一时间看到我的更新,我们下期再见,拜拜!

文章参考资料:

1、Wiki百科

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.