目前Add-on無法添加新指令,但是可以利用遊戲內建的/function
執行寫好的一連串指令檔案,此功能Java版是放在資源包裡,而基岩版是在行為包裡面。
指令格式為 /function 指令檔案名稱
例如 /function og
預設情況下遊戲會從行為包/functions
資料夾下面去找指令,如果有子資料夾則可以使用:
/function /sub/og
製作一個只含manifest.json
的行為包,然後新增一個名叫functions
的資料夾,裡面放入檔案。
指令檔案必須以.mcfunction當副檔名,裡面就跟指令方塊一樣一行一行輸入指令,不用加「/」,用「#」可以寫註解。這個檔案只寫了一行tp指令。
遊戲會在輸入/function
時提示目前已安裝的全部行為包有哪些指令可以用,如圖。
如果說要Add-on自行執行指令呢? 例如用指令控制自訂實體?
使用animation_controller
可以做到這點。
在自定義實體的檔案加入如圖9~14行的程式碼,註冊animation_controller。
然後行為包新增animation_controllers
資料夾,裡面新增command_controller.json
的檔案,內容如圖四,第13和23行的就是執行的指令。
原理是利用animation_controller的state轉換,這裡有2個state:default
和tp
,當transition裡面寫的條件為true時就會互相切換,而這裡寫的是C語言裡代表的1,因為大於0的都會被判斷成true。
並且state可以設定"entry"的區塊,即在進入這個state開始時執行指令。
於是做成了一個無限迴圈,沒有額外加條件的話這個指令會在遊戲背後像一個無條件的命令方塊一樣一直執行。