天才一秒記住【UU看書】地址:www.uukanshu.co
(本章節於2022年7月14日重寫)
在第三十三章,我們瞭解了Java113更新前的和基岩版的execute指令的使用,讓我們複習一下:
格式(基岩版、Java113更新前):
executelt執行者:目標選擇器gtlt基準點:座標gtlt執行的指令gt
executelt執行者:目標選擇器gtlt基準點:座標gtdetectlt探測的座標gtlt方塊idgtlt方塊資料值gtlt執行的指令gt
看起來相當簡單,就連幼兒園大班的孩子都會用。我們馬上就可以根據上面的格式,舉一個小小的例子:
executeetypezombiedetect3671202redstoneblock1tpsp
這條指令的意思是:將所有殭屍作為執行者,他們所處的位置作為執行地點,如果座標(36,71,202)處的方塊為任意資料值的紅石塊,就將每個殭屍分別傳送到距離它們最近的玩家。
但Java113更新後的execute呢?還有目前(2022714)基岩版11910版本在測試中的execute呢?這些新版本的execute有何變化?
答案是很大的變化。由於目前基岩版的execute命令還在測試中,並且功能比Java版要少且類似,我們就先不瞭解。
在Java113更新中,execute的語法被徹底重寫,最終變成了四類12條子命令:修飾子命令(8條)、條件子命令(2條)、儲存子命令(1條)和run子命令(執行子命令)(1條)。
正如這四類子命令的名字,它們的功能分別是:
修飾子命令——對指令進行修飾,也就是對執行指令的一些基本條件進行修改,也就是更改指令執行者、執行地點、執行朝向等內容。
條件子命令——就像程式設計中的if,如果條件成立才會執行指令。
儲存子命令——還記得之前講到的stats指令嗎?在Java113更新後,它的功能就被合併到了execute中,作為儲存子命令,而且還升級了!不光能夠將指令執行的結果儲存到計分板中,還能儲存到其他地方去!
run子命令(本書稱為執行子命令)——也就是最終execute要執行的指令
這四種12條子命令可以自由組合,但有些詳細的規則我們會在以後瞭解到。
看起來這12條子命令很多,但其實它們中的大多數我們都已經在前面遇見過了,因為新版本的execute把許多獨立的指令給合併掉了。如果你前面的章節有細心看的話,那麼你應該能夠列出execute吃掉了哪些指令:
stats(獲取並儲存指令執行結果)
testfor、testforblock、testforblocks(檢測方塊、實體)
scoreboardplayerstest子命令(檢測分數)
你可以猜一猜上述指令被execute吃掉後變成了哪一類execute的子命令,我們下一章就會開始正式的學習過程。