日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

我的世界1.12版函數(shù)命令系統(tǒng)教學(xué)詳解 函數(shù)命令系統(tǒng)教程( 五 )


execute @e[name=gameStat,score_waitTime=40,score_waitTime_min=40] ~ ~ ~ execute @a ~ ~ ~ playsound block.note.pling voice @p ~ ~ ~ 1 0
execute @e[name=gameStat,score_waitTime=60,score_waitTime_min=60] ~ ~ ~ title @a subtitle [{"color":"aqua","text":"2"}]
execute @e[name=gameStat,score_waitTime=60,score_waitTime_min=60] ~ ~ ~ execute @a ~ ~ ~ playsound block.note.pling voice @p ~ ~ ~ 1 0
execute @e[name=gameStat,score_waitTime=80,score_waitTime_min=80] ~ ~ ~ title @a subtitle [{"color":"aqua","text":"1"}]
execute @e[name=gameStat,score_waitTime=80,score_waitTime_min=80] ~ ~ ~ execute @a ~ ~ ~ playsound block.note.pling voice @p ~ ~ ~ 1 0
execute @e[name=gameStat,score_waitTime_min=100] ~ ~ ~ title @a times 10 30 10
execute @e[name=gameStat,score_waitTime_min=100] ~ ~ ~ title @a title [{"color":"gold","text":"游戲開始"}]
scoreboard players set @e[name=gameStat,type=area_effect_cloud,score_waitTime_min=100] gameStat 1
scoreboard players reset @e[name=gameStat,score_gameStat_min=1,score_gameStat=1] waitTime
scoreboard players tag @e[name=gameStat,score_gameStat_min=1,score_gameStat=1] remove allReady
execute @e[type=area_effect_cloud,name=gameStat,score_gameStat_min=1,score_gameStat=1] ~ ~ ~ function system:StartGame
system:cond_breakstartcount.mcfunction
title @a clear
title @a reset
scoreboard players reset @s waitTime
雖然這個(gè)獨(dú)立出來(lái)的子模塊只有3條指令,但是如果分離出來(lái)的是30條而不是3條呢?能夠節(jié)省多少功夫想必不需要我解釋了吧?
以上是關(guān)于函數(shù)系統(tǒng)模塊調(diào)用的部分,當(dāng)中有提到使用進(jìn)度系統(tǒng)來(lái)調(diào)用部分獨(dú)立模塊,我們接下來(lái)來(lái)講這一部分 。

函數(shù)系統(tǒng)與進(jìn)度系統(tǒng)的聯(lián)動(dòng)
advancement,亦簡(jiǎn)稱adv,目前wiki翻譯叫進(jìn)度 。這里就不多作介紹了 。在17w17b中MOJANG允許進(jìn)度返回指令作為達(dá)成進(jìn)度的獎(jiǎng)勵(lì),讓不少玩家發(fā)現(xiàn)了新大陸 。隨后在17w18b中,MOJANG進(jìn)一步完善進(jìn)度系統(tǒng),使其可以完全獨(dú)立于命令方塊而建立起一個(gè)命令系統(tǒng);在1.12 pre1中,MOJANG又作出了修改,將進(jìn)度系統(tǒng)中的命令部分拿出來(lái)做成了如今的函數(shù)系統(tǒng) 。
但是這并不意味著進(jìn)度系統(tǒng)就不可以參與到命令系統(tǒng)中來(lái),因?yàn)槿缃竦倪M(jìn)度系統(tǒng)可以返回函數(shù)作為達(dá)成進(jìn)度的獎(jiǎng)勵(lì) 。
相信很多人已經(jīng)知道進(jìn)度系統(tǒng)的結(jié)構(gòu)了,但仍有相當(dāng)一部分朋友還沒有了解,在這里我們不妨來(lái)溫習(xí)一下 。
自定義的進(jìn)度,所有文件都保存在存檔目錄/data/advancements/下,在這里新建的文件夾同樣都稱為命名空間,命名空間下存放各種進(jìn)度文件 。進(jìn)度文件使用 json 格式 。這里展示一個(gè)用于進(jìn)度命令系統(tǒng)的例子
所涉及的兩個(gè)文件分別是data/advancements/system/HelloTitle.json和data/functions/system/HelloTitle.mcfunction,這里進(jìn)度和函數(shù)都用同樣的命名空間和文件名方便記憶和管理,可以看到函數(shù)文件是 .mcfunction,而進(jìn)度文件是 .json
system:HelloTitle.json
{
"criteria":{
"custom_name":{
"trigger":"minecraft:tick"
}
},
"rewards":{
"function":"system:hellotitle"
}
}
system:HelloTitle.mcfunction
#revoke adv,用于下次再激活
advancement revoke @s only system:hellotitle
#命令部分
scoreboard objectives add helloTitle stat.leaveGame
scoreboard players tag @s[tag=HelloTitle,score_helloTitle_min=1] remove HelloTitle
tellraw @s[tag=!HelloTitle] ["",{"text":"Hello ","color":"yellow"},{"selector":"@s"},{"text":"! Welcome to Minecraft!","color":"yellow"}]

推薦閱讀