青热久思思-青视频在线-青娱乐99-青娱乐激情视频-亚洲变态-亚洲播放

跑跑車首頁

當前位置:首頁攻略秘籍單機攻略 → 我的世界命令方塊教程檢測實體死前位置新方法

我的世界命令方塊教程檢測實體死前位置新方法

作者:佚名來源:本站整理 發(fā)表時間:2015/10/19 9:27:16 評論(0)

小編為大家?guī)砹恕段业氖澜纭访罘綁K教程檢測實體死前位置新方法,一直以來,檢測實體的死前位置都是一件很麻煩的事情。常見的方法有:

配對——就是每個實體給一個編號,然后把指定編號的盔甲架tp到那個實體那里

這個方法雖然不太可能出錯,因為那個盔甲架是肯定傳送到指定的實體那里的,然而那個窮舉數十分多。

檢測掉落物——這個方法就是給生物一個裝備,可能是不能顯示的。然后該生物死后,那裝備就會掉下,檢測那個裝備就代表檢測那個生物死前的位置。

然而這個方法有極大的局限,比如說野生的生物,你需要更改他們的裝備,就可能會令他們原本的裝備失去。也不能夠追蹤其他實體種類。

有一天,我突然想弄這個,想了想,其實我們要做的東西其實很簡單。

流程就是

選擇實體?選擇最近的從未選擇過(這1游戲刻)的盔甲架并把其tp過來

(不停重復以上步驟直至所有實體都選擇完)

那么剩下的不就是代表的實體"死了"的盔甲架嗎?

雖然的確會有bug,比如一些會傳送的實體,可能就不適合這個。還有當實體很靠近的時候可能會互相干擾,盔甲架可能到了旁邊的實體也不一定,然而這其實根本就無關要緊,只要不是不能用就好了2333333333

(起碼這個比一大堆窮舉/只能檢測生物的位置對我來說方便點吧23333)

思路、原理分析

首先,我們用stats把指定實體和盔甲架的successcount儲存到記分板,并且把其分數設置為0。

然后,我們execute指定實體execute該實體最近還沒被選擇的盔甲架tp到最近還沒被選擇過的指定實體

比如execute @e[type=!Player,score_time=1,score_time_min=1] ~ ~ ~ execute @e[c=1,type=ArmorStand,score_stats=0] ~ ~ ~ tp @e[c=1] @e[c=1,score_time=1,score_time_min=1,score_stats=0]

由于tp了之后,該實體和用以標記的盔甲架的successcount分數都會為1(execute的成功),所以之后就不會選擇到它們

之后,我們就可以對stats分數為0的盔甲架為所欲為♂ (因為stats為0的盔甲架就代表了它是剩下的一個,沒有任何配搭,代表它所標記的實體死了)

#其實這里有個假設的,我剛才忘記說明了2333333我是假設每個實體最近的盔甲架為其上1gt的位置,所以這東西是根據這個假設來運作的

如果那個實際情況違背了這個假設(比如會瞬移的實體),這樣子這個系統(tǒng)就會出很大的bug

例子

例子下載: http://pan.baidu.com/s/1o6N86Ps

這個例子是標記僵尸的,然而其他的實體也是能夠標記的,只要不是末影人這類會傳送的。

命令:

scoreboard players add @e[type=Zombie] time 0

execute @e[score_time=0,score_time_min=0] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:"Marker",Invisible:1b,NoGravity:1b,Invulnerable:1b}

scoreboard players set @e[score_time=0,score_time_min=0] time 1

scoreboard players set @e[type=!Player] stats 0

execute @e[type=!Player] ~ ~ ~ stats entity @e[c=1,r=0,type=!Player] set SuccessCount @e[c=1,r=0,type=!Player] stats

scoreboard players set @e[type=!Player] stats 0

execute @e[type=!Player,score_time=1,score_time_min=1] ~ ~ ~ execute @e[c=1,type=ArmorStand,score_stats=0] ~ ~ ~ tp @e[c=1] @e[c=1,score_time=1,score_time_min=1,score_stats=0]

scoreboard players set @e[score_stats=0,name=Marker] time -5

execute @e[score_time=-5,type=ArmorStand] ~ ~ ~ /particle fireworksSpark ~ ~ ~ 0 0 0 1 50

kill @e[score_time=-5,type=ArmorStand]

復制代碼

首先,前三個命令都是為了標記新誕生的僵尸,并且讓他們生成盔甲架的。我們先把所有僵尸的time分數+0(不改變分數,然而如果沒有分數就會把分數變?yōu)?),然后讓所有time分數為0的summon盔甲架,之后把他們的分數設置為1(讓他們不會再生成盔甲架)。

之后的3個命令就是為了設置僵尸和盔甲架的stats

首先把stats分數設置為0(以免出現沒有分數的情況),然后設置stats(每只僵尸和盔甲架的successcount設置給自己的stats分數里),最后把stats分數設置為0(因為上一個命令是成功的,所以他們的stats分數是1)

然后,那一個命令就是整個系統(tǒng)的核心了,詳見上一個部分的解釋 (雖然也說得不詳細)。

最后的三個指令,就是用來對那個stats分數為0的實體執(zhí)行操作的

首先我們把stats分數為0的實體用time分數來標記,因為execute命令在他們身上執(zhí)行了之后也是會讓其分數變?yōu)?的

之后我們就執(zhí)行一些指令(比如在這里就是用particle指令來告訴玩家這個盔甲架的主人死了)

最后就把那個沒有主人的盔甲架殺死

bug:

1.不能指定末影人這類會瞬移的實體,因為他們傳送來傳送去,這系統(tǒng)根本就不知道哪個盔甲架代表哪只末影人,于是那些位置就可能亂起來

2.不能跨世界指定,因為那盔甲架我并不能保證它能夠過去那個世界(尤其是末地)

3.實體之間距離很接近的話,那個stats有可能會混亂(由于那個stats儲存的分數是給最近的非玩家實體,太靠近可能會給錯人,其原因應該是MC的特性吧。。。),于是那個盔甲架可能會傳送到同一個實體那里。然而不用擔心,等一會/實體之間的距離遠了的話,這個bug就會自動消失。

4.玩家千萬千萬別打要標記的實體...........無論是創(chuàng)造模式還是生存等都千萬別打.......原因還是未知,可能就是MC的特性。


玩家評論
我要點評

網名 注:您的評論需要經過審核才會顯示出來。

已有 0 位玩家參與點評
下載排行
主站蜘蛛池模板: 国产精品久久久久久久久久一区 | 国产久爱青草视频在线观看 | 精品国产亚洲一区二区三区 | 国产免费久久精品99re丫y | 久久久久亚洲精品美女 | 久久精品亚洲热综合一本奇米 | 国产一区二区高清视频 | 女人一级黄色片 | 国产日批 | 国产成人在线综合 | 久久riav.com | 国产高清美女一级a毛片久久 | 国产福利在线观看第二区 | 狠狠色成人综合网图片区 | 不卡一区在线观看 | 女人18毛片a级 | 国产成人一区二区三区在线视频 | 久久99精品国产麻豆婷婷 | 久久99一区 | 精品福利视频导航 | 国产美女做a免费视频软件 国产免费v片在线看 | 免费日b视频 | 国产免费叼嘿在线观看 | 九九视频免费精品视频免费 | 国产成人综合在线观看网站 | 久久综合综合久久狠狠狠97色 | 久久青青热 | 久久精品日本免费线 | 国产99在线观看 | 久久精品国产一区二区小说 | 国产香蕉国产精品偷在线观看 | 黑人巨大15p | 精品一区视频 | 成人永久免费福利视频网站 | 狼人成人 | 国产欧美一区二区精品久久久 | 国产一级片播放 | 久久精品国产99国产 | 韩国三级欧美三级国产三级 | 黄色三级小说 | 成人欧美精品大91在线 |