関数 (Bedrock Edition)

ページ名:関数 (Bedrock Edition)
Information icon.svg
この項目はBedrock Edition限定の要素です。 
この記事では、Bedrock Editionでの関数(英:Functions)について説明しています。Java Editionでの関数については「関数 (Java Edition)」をご覧ください。

関数、ファンクション(英:Function)は、拡張子 .mcfunction のテキストファイルを使用することで、プレイヤーが簡単にコマンドのリストをスクリプト化して実行できる機能である。この項目ではBedrock Editionでの関数について説明している。

目次

使用法

関数を使用するには、まず、関数のファイルとするテキストファイルを、関数ファイルにおける最上位フォルダとなる com.mojang/behavior_packs/[ビヘイビアーパックのフォルダ]/functions フォルダの下位に配置する必要がある。com.mojang フォルダのファイルパスはMinecraftの動作環境によって次のようになっている[1]

動作環境・基本ソフト場所
WindowsC:\[ユーザー名]\AppData\Local\Packages\
Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang
Android[ストレージ名]/games/com.mojang
Samsung Gear VR(Galaxy)
Amazon Fire TV
iOSApps/com.mojang.minecraftpe/Documents/games/com.mojang
なお、iOSの Apps/com.mojang.minecraftpe/Documents/ フォルダは、iTunesのファイル共有機能を用いて、任意の端末を選択 → サイドバー設定内の「ファイル共有」 → App内「Minecraft」 → 「Minecraftの書類」と進むなどして参照できる。

この functions 最上位フォルダの下位の階層構造の名前は、このフォルダ内の関数を実行するときに使用される名前空間となる。関数は、最上位フォルダ下位のフォルダの、更に下位となるサブフォルダに配置することもできる。

たとえば、関数 sub/example を実行すると、 functions/sub/example.mcfunction ファイル内の関数が参照される。

テキストファイルの文字列である関数は、容易に変更可能であり、また、大量に使用されたとしても遅延を誘発する可能性はコマンドブロックよりも低い。関数が変更または追加された場合、そのままではその変化が反映されないが、 /reload コマンドを使用することで記憶領域から関数ファイルが再読み込みされ、変化が反映される。これにより、Minecraftのゲームを再起動する必要なく、関数ファイルの変更を認識することができる。

注意: Bedrock Edition 1.8.1現在では、 /reload コマンドではMinecraftの起動時にすでに存在している関数ファイルのみが再読み込みされる。つまり、既存の関数の変更を認識することはできるが、新しく追加された関数は認識されず、関数の追加を反映するにはMinecraftを再起動する必要がある。これはMinecraftの将来のアップデートで修正される。

関数が正常に実行されると、チャットに関数「[関数ファイルのファイルパス]」からコマンドを [数] つ実行しましたというメッセージが表示される。

関数ファイルの構文規則

.mcfunction 関数ファイル内では、通常のスラッシュ (/) を使用せずに1行に1つの有効なコマンドが配置される。また、関数ファイル内では # を付けて(関数の動作には影響しない)コメントを追加することができる。

要求最低エンジンバージョン

関数は、関数ファイルの親フォルダであるビヘイビアーパック直下の、 manifest.json ファイル内の min_engine_version の値により定められた、要求最低エンジンバージョンを要する。

この min_engine_version フィールド(JSONファイル内のオブジェクトにおける、名前とそれに対応する値の組からなる要素)は、実行するコマンドに要求する最低バージョンを決定する。ここで指定される番号は、Minecraftのバージョンの内、そのコマンドが実装されているバージョン番号と一致する必要がある。たとえば、 /fill がバージョン 1.9.0 で変更されたとする。ビヘイビアーパックに "min_engine_version":[1, 8, 0] が記述されているとき、 /fill コマンドを含む関数を実行すると、変更前の版の /fill コマンド(バージョン 1.8.0 の段階の仕様のもの)が実行される。

manifest.json ファイルの記述の例{ "format_version": 1, "header": { "description": "関数!", "name": "関数ビヘイビアーパック", "uuid": "11111111-1111-1111-1111-111111111111", "version": [0, 0, 1], "min_engine_version": [1, 8, 0] }, "modules": [ { "description": "", "type": "data", "uuid": "22222222-2222-2222-2222-222222222222", "version": [0, 0, 1] } ]}単純な関数の例

ハローワールド.mcfunction

say こんにちはfill ~ ~2 ~ ~ ~2 ~ gold_blocksay 世界#これはコメントですより複雑な関数の例

小屋建て.mcfunction  - この関数はプレイヤーの周りに石と木の簡単な小屋を建てる。
注意: 関数はコマンドを上から順番に実行するので、例で言えばガラス窓と木製のドアが最初のコマンドで作成され、その後石の壁を置き換えることになる。

fill ~-2 ~-1 ~-2 ~2 ~2 ~2 stonebrick 0 hollowfill ~-2 ~-1 ~-2 ~2 ~-1 ~2 planksfill ~ ~ ~2 ~ ~ ~2 wooden_door 1fill ~-2 ~1 ~ ~-2 ~1 ~ glassfill ~2 ~1 ~ ~2 ~1 ~ glassfill ~ ~1 ~-2 ~ ~1 ~-2 glass

関数の実行

関数は、他の関数内で呼び出された入れ子関数のコマンドを含め、すべてのコマンドを単一のティック内で実行する。

1度の関数の実行では、他の関数の呼び出し、つまり再帰を含め最大10000個までのコマンドが実行される。

コマンド

/function
  • 使用法: /function <[関数ファイルのファイルパス]>
  • /function コマンドを実行すると、関数を1度実行することができる。
  • 関数内のコマンドは、 /function コマンドを実行したエンティティまたはコマンドブロックを通して実行される。
  • Bedrock Edition 1.8.1現在 if と except に対応していない。

たとえば、プレイヤーが /function ハローワールド とコマンドを実行すると、上記の ハローワールド 関数により、次の出力が上から順になされる。

  • チャット出力: [プレイヤーの名前]: こんにちは
  • プレイヤーの頭上のブロックが金ブロックで埋められる
  • チャット出力: [プレイヤーの名前]: 世界

歴史

Bedrock Edition
1.8?関数ファイルが追加された。
関数ファイルはビヘイビアーパックのフォルダの下位階層にのみ配置できる。
1.13.0beta 1.13.0.1関数がコマンド一覧で見えるようになった。

関連項目

脚注

  1. mojang公式サイトのお役立ちページ。


特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

左メニューサンプル左メニューはヘッダーメニューの【編集】&gt;【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...

黒色の染料

黒色の染料Black Dye.png希少度色一般的再生可スタック可(64)黒色の染料(英:Black Dye)は、イカスミからできる一次染料である。目次1 取引2 クラフトから3 用途3.1 製作材料...

黒板

黒板Chalkboard Slate.pngChalkboard_Board.png再生不可スタック可(16)回収道具なし爆発耐性?硬度?発光しない透過する可燃性なし溶岩からの引火?黒板 (英:Cha...

黒曜石の柱

黒曜石の柱Obsidian_Pillar.pngバイオームジ・エンド構成ブロック黒曜石岩盤鉄格子エンドクリスタル炎既存チャンクでの生成はい(エンダードラゴンがリスポーンした際に)エンドの柱(英:End...

黒曜石の土台

黒曜石の土台Obsidian platform.pngバイオームジ・エンド構成ブロック黒曜石既存チャンクでの生成可、ディメンションに再び入る際に再設置。黒曜石の土台 (英:Obsidian Platf...

黒曜石のボート/ED

エンティティデータすべてのエンティティに共通するタグ obsidian: 1 または 0(true / false)。true の場合は、ボートが黒曜石のボートになる。V1.18.10現在は存在して...

黒曜石のボート

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。そのほかの種類のボートについては「ボート (曖昧さ回避)」をご覧ください。Dark Oak Sapling JE2 BE2.pngこの記...

黒曜石 (曖昧さ回避)

黒曜石(英:Obsidian)は以下のいずれかを指す。目次1 ブロック2 アイテム3 構造物4 Minecraft Dungeons5 関連項目 ブロック黒曜石泣く黒曜石輝く黒曜石‌[Bedrock ...

黒曜石

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。黒曜石Obsidian_JE3_BE2.png再生可スタック可(64)回収道具爆発耐性1,200硬度50発光しない透過しない可燃性なし溶...

黄色の染料

黄色の染料Dandelion Yellow.png希少度色一般的耐久度11 (データ)再生はいスタックはい (64)黄色の染料(英:Dandelion Yellow)は1次染料の1つであり、黄色の花ま...

黄緑色の染料

黄緑色の染料Lime Dye.png希少度色一般的再生可スタック可(64)黄緑色の染料(英:Lime Dye)とは2次染料の1つであり、緑色の染料1つと骨粉1つを作製枠で組み合わせて作製される。目次1...

鳥(英:Bird)は、小さな羽、意味がないクチバシ、翼を持つ飛行と滑空をするMinecraftのMobである。ニワトリオウムMinecraft EarthStormy ChickenCluckshro...

この記事では、Mobやアイテムについて説明しています。要素については「釣り」をご覧ください。魚(英:Fish)は水生生物であり、海洋の種類に関係なくどこにでも存在する。Mobの1グループであり、以下に...

高速装填

高速装填最大レベルIII一次アイテム二次アイテム該当なし出現比10名前空間IDquick_charge数値ID35高速装填、クイックチャージ‌[Bedrock Edition限定](英:Quick C...

高度

Clock JE3.gifこの記事は内容の更新を必要とします。 この記事を更新して、最近のアップデートや新たな情報を反映してください。詳細:「高度と天然資源」および「ネザー」の節のグラフ画像Y座標と層...

骨粉

骨粉Bone Meal.png希少度色一般的耐久度15 (データ)再生はいスタックはい (64)骨粉(英:Bone Meal)は多くの植物の肥料や、染料の作製素材として用いられる素材である。目次1 入...

骨ブロック/DV

データ値説明0上/下向きの骨ブロック1未使用2未使用3未使用4東/西向きの骨ブロック5未使用6未使用7未使用8北/南向きの骨ブロック特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SA...

骨ブロック/BS

Java Edition:名前デフォルト値取り得る値説明axisyx東西を向いた状態y上下を向いた状態z南北を向いた状態Bedrock Edition:名前デフォルト値取り得る値説明pillar_ax...

骨ブロック

骨ブロックBone_Block_%28UD%29_JE2_BE2.pngBone_Block_%28NS%29_JE2_BE2.png再生可スタック可(64)回収道具爆発耐性2硬度2発光しない透過しな...