首頁手游網(wǎng)游攻略→ 我的世界網(wǎng)易手機版爆炸箭制作方法 指令教程

我的世界網(wǎng)易手機版爆炸箭制作方法 指令教程

作者:佚名來源:本站整理2017/10/31 10:37:54我要評論

我的世界手游中,爆炸箭是很強力的武器,能帶來極大的傷害,那么游戲中強力的爆炸箭該怎么做,下面一起來看看制作教程吧。

最終改進成品如圖:

可見:多只箭不會出判定bug,射中(不是掠過)人也能炸

下面分四個步驟討論:(以下所有指令因版本原因?qū)嶓wid有差別,在此只討論方法)

一:最簡單的爆炸箭

一般x度等搜出來的都是這一種,也是最不需要指令基礎(chǔ)的一種:

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

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

/kill@e[type=Arrow]

具體操作辦法是第一條指令循環(huán)(高頻)比較器(連鎖)到第二、三個命令方塊,即為高頻探測到有箭落地之后,給所有箭召喚爆炸的tnt。

此辦法雖然簡單,但缺點也非常明顯:當有多只箭的時候,只要有一只箭落地,那么所有的箭都會爆炸。

如圖:

可以看到,當近處的箭碰到墻壁時,遠處的箭在空中就炸了

所以,一部分懂些計分板的玩家想出了第二鐘辦法

二:初步爆炸箭

通過記分板,我們可以使落地的箭分數(shù)為一分,然后讓一分的箭爆炸。這樣就能完美區(qū)分開落地的箭和沒有落地的箭了:

創(chuàng)建計分板:

/scoreboard objectives add ld dummy

之后高頻(循環(huán)):

/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]

第一條給落地的箭設(shè)置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:讓箭射中人也爆炸

經(jīng)過深(hu)思(si)熟(luan)路(xiang),發(fā)現(xiàn):無論是箭落地就kill,還是箭射中了生物,都有一個共同點,那就是箭作為一個實體消失了,于是決定從這方面下手。

首先給箭實體高頻召喚另外的實體寄存(作者用的小火球,以下通用小火球簡稱)即為給箭高頻召喚小火球。然后一個命令方塊給小火球高頻加分,另一個命令方塊探測箭并給箭周圍的小火球減分,這樣如果箭不消失,那么小火球就會維持分數(shù)的平衡不加不減。同時創(chuàng)建另外一個計分板,用來給小火球計時到時間清除。當箭射中人或者落地清除消失的時候,小火球在第一個計分板上的分數(shù)會只加不減,從而發(fā)生爆炸。

命令如下:(創(chuàng)建計分板部分省略)

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

這樣就做出了不會在空中殉爆,射中人也能爆炸的爆炸箭啦~

以上就是我的世界網(wǎng)易手機版爆炸箭制作方法,更多我的世界手游,盡在跑跑車手游網(wǎng)。

0相關(guān)評論

發(fā)表評論

最新最熱相關(guān)資源

安卓蘋果應(yīng)用推薦