この項目はJava Edition限定の要素です。
関数の中に組み込んで関数の実行を制御するためのコマンド。その関数の実行を終了させるとともにその関数を起動した/functionの戻り値を与えることができる。
戻り値を任意の値に設定することで、条件分岐を持つコマンドの実行結果を記録し、以降の関数の実行にこれを反映させるためなどに使用できる。
用法[]
関数、特に/execute ifなどを使用した条件分岐を持つ関数においてその分岐の末端にこのコマンドを配置することで、その関数を終了させるとともに関数がどの分岐を辿ったかを戻り値として記録することができる。
戻り値は/execute (if|unless) function <returnコマンドを含む関数> ...による条件確認にも使用できる。
また戻り値は/execute store ... run function <returnコマンドを含む関数>を使用して記録することもできる。記録した戻り値は、/execute ifなどを用いて参照でき、他のコマンド・関数の実行に反映できる。
構文[]
/return <戻り値>
- 属する関数を終了させるとともに、
/functionコマンドの戻り値を任意の整数値に設定する。
/return run <コマンド>: <コマンド>で指定されたコマンドを実行した上で自身の属する関数を終了させ、その関数を実行した/functionコマンドの成功回数と戻り値としてそのコマンドのものを使用する。実行したコマンドが失敗した場合は成功回数・戻り値は0になる。
return run execute as @e ...など「実行文脈」が分岐する場合は、そのうち始めの実行文脈におけるコマンドの戻り値を採用する。return run execute as @e[<不可能な条件>] ...など、コマンドが一切実行されないようなコマンドを<コマンド>に指定した場合は戻り値を与えず、関数の実行が継続する。
/return fail
- 属する関数を終了させ、成功回数0、戻り値0を与える。
引数[]
<戻り値>:32ビット整数
- この
/returnコマンドが属する関数を起動したfunctionコマンドの戻り値に設定する整数値。
32ビットの整数値で指定する。また、値は-2,147,483,648以上2,147,483,647以下で指定する。
<コマンド>
- この
/returnコマンドが属する関数を起動したfunctionコマンドの戻り値を与えるコマンド。
結果[]
| コマンド | トリガー | Java Edition |
|---|---|---|
| 任意 | 引数が正しく指定されていない場合 | 構文解析不能 |
return <戻り値> | valueの値が許容範囲(-2147483648~2147483647)の範囲外であるか、整数でない | 失敗 |
return <コマンド> | executeコマンドで実行文脈が0になるようなサブコマンドが指定されておりコマンドが実行されなかった | 戻り値を与えず、関数の実行を継続する。 |
| 任意 | 成功時 | 属する関数の実行を停止し、指定した戻り値を/functionに与える。 |
出力[]
/functionに戻り値を与えるコマンドであるが、/returnコマンド自体も同じ戻り値を持つ。
- 関数に与える戻り値
| コマンド | エディション | 状況 | 成功回数 | /execute store success ... | /execute store result ... |
|---|---|---|---|---|---|
return <戻り値> | Java Edition | 成功時 | 1 | 1 | 戻り値の値。 |
return <戻り値> | 失敗時 | 0 | 0 | 0 | |
return <コマンド> | コマンド成功時 | コマンドの成功回数。 | コマンドの成功回数。 | コマンドの戻り値。実行文脈の分岐がある場合はその最初のものを使用。 | |
return <コマンド> | コマンド失敗時 | 0 | 0 | 0 | |
return fail | 成功時 | 0 | 0 | 0 |
歴史[]
| Java Edition | |||||
|---|---|---|---|---|---|
| 1.20 | 23w16a | /returnが追加された。 | |||
| 1.20.2 | 23w31a | /return run ...構文が追加された。 | |||
| Pre-release 1 | バグの修正のために根本的な変更を要することが発覚したため/return run構文の開発が延期され、一時的に削除された。 | ||||
| 1.20.3 | 23w41a | /return runサブコマンドが再追加された。 | |||
| 23w44a | /return run構文が常に関数の実行を終了し戻り値を与えるようになった。実行したコマンドから有効な戻り値が得られない場合は、/return runコマンドを含む関数は成功回数0、戻り値0で失敗する。
| ||||
/return run構文は従来は実行したコマンドの戻り値だけを戻り値として与えていたが、実行したコマンドの成功回数も与えるようになった(従来は成功回数は1で固定)。 | |||||
/execute store ... run return run <コマンド>で実行したコマンドの戻り値を保存できるようになった。 | |||||
関数を失敗させる(成功回数0、戻り値0にする)構文、/return failが追加された。 | |||||