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

跑跑車首頁

當前位置:首頁攻略秘籍單機攻略 → 我的世界命令方塊教程瞬間多次調用與執行模塊概念

我的世界命令方塊教程瞬間多次調用與執行模塊概念

作者:佚名來源:本站整理 發表時間:2016/3/22 9:18:54 評論(0)

小編為大家帶來了《我的世界》命令方塊教程瞬間多次調用與執行模塊概念,這只是一個概念,只是由于我懶得大幅優化和弄生成器才拿出來的,可能大家能幫忙優化一下吧。

在研究icb,ccb,rcb的機制時,我發現了一個挺特別的東西,現在就跟大家分享一下

就是當ccb被替換成另一個ccb,它是能夠馬上接受信號的,舉個例子

icb:

say start

setblock ~ ~1 ~ 1 replace {Command:"say hi",auto:1b}

say bye

say end

復制代碼

假設這cb鏈是向上的,那么它就會把原本為say bye的ccb變為say hi,當信號到第四個cb也就是被替換了的那個,它能夠執行say hi這個指令而不是等下一次有信號才會執行(輸出就是start, hi, end)

因此,我們能夠得到一個結論: cb的替換是即時的,也就是只替換NBT而不是整個方塊替換

其實還有一個特性的,就是替換后的朝向是會被忽略的(數據值和NBT的修改不是同時的?這就不清楚了,然而我們可以肯定的就是不能如此瞬間轉向)

可能你會問,這樣子有什么用?

我只能說我也不知道,然而我給了一個技術上可行然而麻煩到不得了的概念你們看看吧,就是模塊的調用

整個概念:

把需要執行的模塊clone進去主要的執行串(主模塊)里,做到多次調用同樣模塊及1gt內執行盡量多的循環類系統

如果剩余空間不足,則會自動把剩下模塊放進暫存等待下一個gt執行

**代碼塊里的那些是懶癌衛士里的表達方式,不懂的話可以來這里看:懶癌衛士

//調用模塊{:

//檢測空間是否足夠

scoreboard players operation @e[name=start] length -= @e[name=(儲存模塊長度的marker)] length

scoreboard players test @e[name=start] length 1

//如果空間足夠,則把模塊clone到之后的cb里

cond:/clone (該模塊坐標) ~ ~ ~1 

//如果空間不足,則把模塊放進暫存里,并且把之后的命令刪除

execute @e[name=start,score_length=0] ~ ~ ~ clone (該模塊坐標) (暫存的位置(可能為相對坐標,即暫存里start marker的相對位置)) 

cond:fill ~ ~ ~ ~ ~ ~20 stone 0 replace chain_command_block 3

//即使cond的ccb無法被刪除,也不能執行(前面的cb都被刪除了,不可能成功)

//}

復制代碼

執行空間完結: 轉向

原因: 避免被 "fill ~ ~ ~ ~ ~ ~20 stone 0 replace chain_command_block 3"錯誤刪除

執行空間完結的指令是必須執行的,否則就有可能出現bug

//完結: {

/scoreboard players set @e[name=start] length 11

/clone (暫存) (執行空間)

mark:blankCount

//先執行scb和stats block (下一個cb的位置) AffectedBlocks @e[name=blankCount,c=1] length

//上方的只需要執行一次,得到stats的鏈接就可以了

/testforblocks (暫存) (空置的比較用暫存)

//把length = 暫存里空置的地方

/scoreboard players operation @e[name=start] length = @e[name=blankCount] length

//清空暫存

fill -12 4 75 -12 4 85 minecraft:chain_command_block 3

//}

復制代碼

模塊的切割

由于這個系統里,調用模塊會把之后的命令覆蓋掉,所以我們需要把調用模塊之后的命令放進另外一個模塊里

(或者在調用的模塊里再寫一次也可以)

例子1:

{

say hi

module 1

say bye

}

如果是這種情況,就可以把say bye放進module1,或者是把say bye放進module2,然后在module1最后的地方調用。

而主模塊里則不需要寫say bye(因為必定會被覆蓋)

例子2:

{

say hi

if (testfor @e[name=pca])

module 1

say bye

}

這種情況應該也是最常見的,就可以把say bye放進module1,并且在主模塊也寫一次(一共兩次)。

或者是把say bye放進module2,分別在主模塊和module1里調用。

例子里主模塊的長度就十幾個ccb,當然真正要做的話就不是那樣子了,而是起碼一百個,不然這就沒什么用了

這樣子我們就能盡情的壓榨MC的能力,而不會壓榨到崩潰

而且也能夠更好的做到模塊化(雖然是被閹割了的)

當然,現在看來很麻煩,然而我覺得也是那些弄成生成器就會好很多的東西了

可惜的就是這系統很多地方依賴clone,也就是說要作出大量的坐標計算(或者是直接用絕對坐標)

而且這個系統效率也不是一般的低...還需要優化(目前一大堆命令才能調用一個模塊)


玩家評論
我要點評

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

已有 0 位玩家參與點評
下載排行
主站蜘蛛池模板: 福利免费在线 | 久久99操 | 国产亚洲人成a在线v网站 | 成人黄色一级视频 | 国产毛片一级国语版 | 国产成人精品日本亚洲麻豆 | 国产在线高清不卡免费播放 | 久久se精品一区精品二区 | 国产一区精品在线 | 免费一级欧美片片线观看 | 免费视频成人国产精品网站 | 久久国产高清一区二区三区 | 国产乱在线 | 久久99久久99小草精品免视看 | 黄色成年人视频 | 九九九国产在线 | 成人午夜视频在线观 | 久久99精品这里精品动漫6 | 国产精品一级香蕉一区 | 红色一级毛片 | 国产欧美日韩综合精品无毒 | 国产美女高清一级a毛片 | 欧美a在线播放 | 国国产自国偷自产第38页 | 国产一级精品高清一级毛片 | 国产麻豆a一级毛片爽爽影院 | 国产成人精品免费视频 | 久操视频在线观看 | 国产精品一区二区久久 | 久久久久久97| 国产精品国产国产aⅴ | 久青草免费视频手机在线观看 | 国产成人亚洲综合欧美一部 | 国产精品福利影院 | 国产真实乱子伦精品视 | 国产免费福利片 | 久久99精品国产99久久6男男 | 久久道| 黄色片免费网站 | 久久一区二区三区免费 | 很黄很暴力刺激的免费视频 |