首页 > 手机游戏 > 资讯中心 > 游戏资讯 > 《我的世界》手游爆炸火箭怎么做_爆炸火箭指令大全

《我的世界》手游爆炸火箭怎么做_爆炸火箭指令大全

游戏资讯 我的世界 游戏嘟嘟 2017-10-31 17:00:52

《我的世界》手游爆炸火箭怎么做_爆炸火箭指令大全:

图片.png

图片.png

可见:多只箭不会出判定bug,射中(不是掠过)人也能炸

下面分四个步骤讨论:(以下所有指令因版本原因实体id有差别,在此只讨论方法)

一:最简单的爆炸箭

一般x度等搜出来的都是这一种,也是最不需要指令基础的一种:

/testfor @e[type=Arrow] {inGround:1b}

/execute @e[type=Arrow] ~ ~ ~ /summon PRiMEdTnt ~ ~ ~

/kill@e[type=Arrow]

具体操作办法是第一条指令循环(高频)比较器(连锁)到第二、三个命令方块,即为高频探测到有箭落地之后,给所有箭召唤爆炸的tnt。

此办法虽然简单,但缺点也非常明显:当有多只箭的时候,只要有一只箭落地,那么所有的箭都会爆炸。

如图:

 

我的世界手游爆炸火箭怎么做 爆炸火箭指令大全[多图]图片4_网侠手机站


可以看到,当近处的箭碰到墙壁时,远处的箭在空中就炸了

所以,一部分懂些计分板的玩家想出了第二钟办法

二:初步爆炸箭

通过记分板,我们可以使落地的箭分数为一分,然后让一分的箭爆炸。这样就能完美区分开落地的箭和没有落地的箭了:

创建计分板:

/scoreboard objectives add ld dummy

之后高频(循环):

/scoreboard players set @e[type=Arrow] ld 1 {inGround:1b}

/execute @e[type=Arrow,score_ld_min=1] ~ ~ ~

/kill @e[type=Arrow,score_ld_min=1]

第一条给落地的箭设置1分,第二条让一分的箭爆炸,第三条清除掉落地的箭。

这种办法虽然把落地的箭隔离开来,避免了一定的bug,看起来完美无缺,但是还是忽略了一种情况:箭直接射到玩家/生物怎么办??直接射中,不算落地,箭也不爆炸。

于是有人就偷懒的加了一条指令:

三:偷懒法

此方法在第二种之上加了一条指令:

/execute @e[type=!Arrow] ~ ~ ~ /execute @e[type=Arrow,r=2] ~ ~ ~ /summon Creeper ~ ~ ~ {ExplosionRadius:3,Fuse:-1,ActiveEffects:[{Id:14,Duration:0}],CustomName:炸弹}

这种办法很明显有严重的bug,箭靠近实体就会爆炸。箭飞的太快,半径太小根本探测不到,半径大就算箭从旁边掠过没有射中也会爆炸。

四:推荐的办法

综上所述:我们要解决两个问题:

1:让箭落地爆炸

2:让箭射中人也爆炸

经过深(hu)思(si)熟(luan)路(xiang),发现:无论是箭落地就kill,还是箭射中了生物,都有一个共同点,那就是箭作为一个实体消失了,于是决定从这方面下手。

首先给箭实体高频召唤另外的实体寄存(作者用的小火球,以下通用小火球简称)即为给箭高频召唤小火球。然后一个命令方块给小火球高频加分,另一个命令方块探测箭并给箭周围的小火球减分,这样如果箭不消失,那么小火球就会维持分数的平衡不加不减。同时创建另外一个计分板,用来给小火球计时到时间清除。当箭射中人或者落地清除消失的时候,小火球在第一个计分板上的分数会只加不减,从而发生爆炸。

命令如下:(创建计分板部分省略)

/scoreboard players set @e[type=Arrow] ld 1 {inGround:1b}

/execute @e[type=Arrow] ~ ~ ~ /summon SmallFireball ~ ~ ~ {direction:[0.0,0.0,0.0]}

/scoreboard players add @e[type=SmallFireball] FX 1

/execute @e[type=Arrow] ~ ~ ~ /scoreboard players set @e[type=SmallFireball,r=4] FX2 0

/scoreboard players add @e[type=SmallFireball] FX2 1

/kill @e[type=SmallFireball,score_FX_min=3]

/kill @e[type=Arrow,score_ld_min=1]

/execute @e[type=SmallFireball,score_FX2_min=2] ~ ~ ~ /summon Creeper ~ ~ ~ {ExplosionRadius:3,Fuse:-1,ActiveEffects:[{Id:14,Duration:0}],CustomName:炸弹}

这样就做出了不会在空中殉爆,射中人也能爆炸的爆炸箭啦~


游戏娱乐 搞笑 美女

扫码关注我们
广告位