我们得用到两个命令方块,以下是对应的代码:其一为“/testfor @e[type=Arrow,c=1] {inGround:1b}”;其二是“/execute @e[type=Arrow,c=1] ~ ~ ~ detect ~ ~ ~ air 0 summon tnt ~ ~ ~ {ExplosionRadius:2,Fuse:-1}”。 在很多情况下,这两个命令方块及其代码在特定的游戏场景或者编程任务中有着重要的作用。比如在一些模拟爆炸触发机制或者检测特定游戏对象状态的场景里,就需要这样精确的命令来实现各种功能。比如说在设计一个以箭触发TNT爆炸的游戏场景时,这两条命令就不可或缺。第一条命令主要用于检测是否存在一支满足特定条件(类型为箭,数量为1且触地)的箭;而第二条命令则是在第一条命令检测成功的基础上,以箭所在的位置为参照,在检测到周围是空气(这里的检测条件为0表示空气)的情况下召唤出一个具有特定爆炸半径(这里设置为2)且没有引信(Fuse设置为 -1)的TNT,从而实现特定的爆炸效果或者游戏逻辑。
爆炸弓制作教程
指令部分:
1号:
针对 @e[type = Arrow, c = 1] 进行 /testfor 操作时,需满足其处于地下(inGround: 1b)这一条件。
探测箭落在地上
2号:
在《我的世界》游戏里,有这样一个指令操作:/execute这个指令可以针对特定实体来执行其他指令。这里我们选择的特定实体是箭头(Arrow)类型的实体,并且只选择其中一个(@e[type = Arrow, c = 1])。在这个箭头所在的位置(~ ~ ~)进行检测(detect),检测这个位置的正下方(~ ~ ~)是否为空气(air),检测范围为0。如果检测结果为是,也就是这个位置是空气的话,就会在这个箭头所在的位置召唤(summon)一个TNT。这个TNT的爆炸半径(ExplosionRadius)设置为2,导火线(Fuse)时间设置为 -1,这就意味着它会瞬间爆炸。
TNT在爆炸时会生成爆炸效果,由于TNT爆炸会破坏地形,所以可以用苦力怕(Creeper)来替换它。
(晚上的时候,骷髅会给你惊喜~~~)
3号:
在《我的世界》(Minecraft)游戏里,我们可以使用这样一个指令:“/execute @e[type=Arrow,c=1] ~ ~ ~ detect ~ ~ ~ air 0 kill @e[type=Arrow]”。它的意思就是在游戏世界中,当检测到距离最近(c = 1表示最近的一个)的箭(type = Arrow)所在的位置(通过“~ ~ ~”表示相对坐标)为空气(detect ~ ~ ~ air 0,这里的0可能是相关检测的参数)的时候,就会把这个箭(type = Arrow的实体)清除掉(kill)。我们可以这样理解这个指令,游戏中的箭如果处于特定的检测为空气的位置时,这个指令就会发挥作用,将其从游戏场景中移除,以满足游戏中的某些场景需求,比如为了清理场景中已经完成使命或者无用的箭等情况。
清理掉落的箭
(可有可无)
澄拾游戏