學會這篇的內容,只需要一條指令,就能自動執行10條指令。
並且還能夠不靠指令方塊,在背景按照設定好的條件自動執行指令。
如果能活用指令,就能做出動態光源或者快速砍樹這類的Add-On。
這個範本只需要用到行為包。
影片教學:
1. .mcfunction的用法#
.mcfunction可以儲存一系列指令,例如下面我寫了5個say
say I
say am
say the
say best
say Youtuber
將含有這些指令的檔案命名為myfunction.mcfunction
放到行為包的/functions
資料夾。
載入到遊戲裡,用/function
指令 + 檔案名稱
例如/function myfunction
就會執行指令。
行為包mcfunction也可以用資料夾分類,語法就會變成
/function /資料夾/函數名稱
例如/function /sub/function1
2. 自動執行指令#
以玩家為主體,執行這個寫好的particles.mcfunction。
particle minecraft:basic_flame_particle ~ ~ ~
- 從原版行為包複製player.json,插入動畫控制器"command"。
如果你有自訂實體也可以這樣做,只是要執行指令時記得改用execute開頭。
{
"format_version": "1.16.0",
"minecraft:entity": {
"description": {
"identifier": "minecraft:player",
"is_spawnable": false,
"is_summonable": false,
"is_experimental": false,
//插入動畫控制器
"animations": {
"command": "controller.animation.command"
},
"scripts": {
"animate": [
"command"
]
}
},
"component_groups": {
}
}
}
- 行為包新增animation_controllers資料夾,新增command_controller.json
輸入:
{
"format_version": "1.10.0",
"animation_controllers": {
"controller.animation.command": {
"states": {
//default,預設的狀態
"default": {
"transitions": [
//條件為跑步時切換到particles
{
"particles": "query.is_sprinting"
}
]
},
"particles": {
//一進入這個狀態就執行指令,也可以直接把多條指令打在這邊,用逗號分隔,不用mcfunction
"on_entry": [
"/function particles"
],
"transitions": [
//填1.0,代表無條件返回default的狀態
{
"default": "(1.0)"
}
]
}
}
}
}
}
動畫控制器原本是用於控制動畫的,但是他也能執行指令。
基本原理是,每個動畫控制器會在不同的狀態中切換
例如我寫好的這個,他有二個狀態(state):
一個是default,一個是particles,當條件符合時,會切換到另一個狀態。在每個狀態裡面,會有transition的區塊,寫明切換到其他狀態的條件,像是從default到particles的條件,就是偵測玩家跑步,所以切換到particles。
3. 製作指令延時器#
如果你有這方面的需求,參考這篇文章。
範本下載#
按 這裡下載這篇教學的範本檔案,檔案皆含有註解。
也可於 Github檢視原始碼。