跑跑车游戏网
游戏
网游单机小游戏专题排行榜攻略资讯评测
软件
11应用专题排行榜教程
关于
广告合作网站地图意见反馈

我的世界网易手机版爆炸箭制作方法 指令教程

佚名2017/10/31评论 (0)

我的世界手游中,爆炸箭是很强力的武器,能带来极大的伤害,那么游戏中强力的爆炸箭该怎么做,下面一起来看看制作教程吧。

最终改进成品如图:

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

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

一:最简单的爆炸箭

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

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

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

/kill@e[type=Arrow]

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

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

如图:

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

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

二:初步爆炸箭

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

创建计分板:

/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:炸弹}

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

以上就是我的世界网易手机版爆炸箭制作方法,更多我的世界手游,尽在跑跑车手游网。

上一篇我的世界网易手机版药水合成大全

下一篇怪物猎人世界试玩版正式确定

网友评论
取消

累计评论0

展开其余评论

相关阅读

上滑或点击查看更多...