Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
function
需要的權限等級

Java版:2
基岩版:1

限制條件

啟用作弊[僅基岩版]

執行1個函數或者資料包內1個標籤的所有函數。[僅Java版]

執行行為包內的1個函數[僅基岩版]

語法[]

  • Java版
function <name> [<arguments>|with (block <sourcePos>|entity <source>|storage <source>) [<path>]]
  • 基岩版
function <name: filepath>

參數[]

JE<name>function
BEname: filepathCommandFilePath

指定要執行的函數或函數標籤。
Java版:
格式是namespace:path/to/function/file#namespace:path/to/function/tag
沒有#前綴的namespace:path/to/function/file格式會執行[data_pack]/data/namespace/functions/path/to/function/file.mcfunction處的函數。
#前綴的#namespace:path/to/function/tag格式會執行所有[data_pack]/data/namespace/tags/functions/path/to/function/tag.json標籤下的函數。
基岩版:
格式是path/to/function/file
執行[behavior_pack]/functions/path/to/function/file.mcfunction處的函數。

JE<arguments>

包含所有變數和對應值的複合資料。必須為SNBT格式的NBT標籤。
格式:{变量1名称: 值, 变量2名称: 值, 变量3名称: 值, ...}
  • 是否使用引號括起變數名稱和值不影響解析,但若值為含空格的字串則一定要有引號。
  • 由變數引起的語法錯誤將導致整個函數調用被跳過。
  • 多餘的變數會被忽略。

JE<sourcePos>block_pos

必須為方塊座標,包括<X>、<Y>和<Z>,每個值都必須是整數或者含有波浪號與脫字號標記

JE<source>entity(僅entity <source>模式)

必須為玩家名、目標選擇器或UUID。且目標選擇器只允許1個實體。

JE<source>resource_location(僅storage <source>模式)

指定NBT標籤的儲存。
必須為命名空間ID。其將在指令執行時被分解為未註冊內容或者是用戶端內容。

JE<path>nbt_path

指定資料路徑(可選)。
必須為NBT路徑

效果[]

指令觸發條件Java版基岩版
任意參數不正確 無法解析 無法解析
指定的函數或函數標籤不存在 執行失敗 執行失敗
執行成功時以執行者的身份與位置逐條執行函數內的指令

輸出[]

指令版本條件成功次數/execute store success .../execute store result ...
任意Java版執行失敗000
執行成功執行的指令總數+1 (加上該指令自己)1執行的指令數量(無論成功與否),包括被引用的函數。
基岩版執行失敗0N/AN/A
執行成功1N/AN/A

Java版中,由於存在錯誤,函數的反覆調用會使輸出結果錯誤[1][2]

示例[]

  • Java版中:
    • 執行data/custom/functions/example/test.mcfunction處的函數:/function custom:example/test
    • 執行所有data/custom/tags/functions/example/test.json標籤下的函數:/function #custom:example/test
    • 如果半徑2格內存在綿羊,則執行函數:/execute if entity @e[type=sheep,distance=..2] run function custom:example/test
    • 執行者不是玩家時,執行函數:/execute unless entity @s[type=player] run function custom:example/test

歷史[]

Java版
1.12pre1加入了/function
1.1317w49b/function現在接受資料包的標籤作為其參數。
/execute [if/unless]的存在而移除了[if/unless]
1.20.223w31a/function現在允許傳遞NBT作為參數。
基岩版
1.8.01.8.0.8加入了/function

參考[]

語言

Advertisement