/function(ファンクション)はあらかじめ設定した複数のコマンドを一度に呼び出すことが出来るコマンドです。プログラミング知識が無い方でも作成できるようになるべくかみ砕いて解説します。
/functionコマンドの使い方
/function␣”ファイル名(.mcfunction)”
マイクラゲーム内で上記のコマンドを実行すると、.mcfunctionファイルにあらかじめ記入しておいた複数のコマンドを一度に実行することができます。
(※コマンドのファイル名指定では拡張子は不要です)
.mcfunctionファイルの作り方は以下で解説します。
/functionコマンドの作り方
functionコマンドを設定するためにはビヘイビアパックを作成する必要があります。
マイクラ統合版に導入するカスタムデータをアドオン(addon)と呼びます。
アドオンには大きく分けると
・スキンや形状などの見た目をカスタムする「リソースパック(resource pack)」
・ルールや動作をカスタムする「ビヘイビアパック(behavior pack)」
の2種類が存在します。
本稿で扱うfunctionコマンドはビヘイビアパックに含まれます。
function用ビヘイビアパックのフォルダ/ファイル構成
以下の構成でフォルダ/ファイルを作成します。
- ビヘイビアパックフォルダ・・・今回作成するビヘイビアパックの一番親になるフォルダ。フォルダ名は基本的に好きな名前でOKなので、わかりやすい名前を付けてください。
- manifest.jsonファイル・・・javascript形式の設定ファイルです。”ビヘイビアパック名”、”ビヘイビアパックの説明”、”uuid”などを記述する必要があります。
- functionsフォルダ・・・実行するコマンドを書き入れた.mcfunctionファイルを格納するフォルダです。
- .mcfunctionファイル・・・実行するコマンドを書き入れるファイルです。拡張子以前のファイル名の部分をマイクラ内で指定して実行します。
作成したビヘイビアパックはマイクラ統合版の『development_behavior_packs』フォルダへ格納します。
【標準インストール時の『development_behavior_packs』フルパス】
C:\Users\○○\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs
作成したビヘイビアパックは同じcom.mojang以下の「behavior_packs」フォルダに格納しても良いが、格納後に.mcfunctionファイルを編集して調整する場合は『development_~』フォルダの方がおすすめです。
ざっくり言うと「behavior_packs」は正式リリース後のアドオン、『development_~』は開発中のアドオンを格納するイメージで、後者はファイルを更新した際にゲームを閉じなくても【/reload】コマンドを実行することで再読み込みが出来るので便利です。
.mcfunctionファイルの数が増えてきた場合、「functions」フォルダ内にさらにフォルダを作って.mcfunctionファイルを整理することが可能です。
その場合はマイクラのコマンドでは
【/function “追加したフォルダ名”/”.mcfunctionファイル名”】
と記述して実行します。
manifest.json
manifest.jsonファイルには以下のように記述します。
※あくまでfunctionコマンドを設定するための最低限の内容の例です。
{
"format_version": 2,
"header": {
"description": "ビヘイビアパックの説明",
"name": "ビヘイビアパック名",
"uuid": "生成したuuid①",
"version": [0,0,1],
"min_engine_version": [1,21,50]
},
"modules": [
{
"description": "ビヘイビアパックの説明",
"type": "data",
"uuid": "生成したuuid②",
"version": [0,0,1]
}
]
}
作り方としては例えば、テキストファイルを作成して上記の内容をコピペし、必要な部分を書き換えたあとにファイル名を「manifest.json」に変更すれば完成です。
なお”min_engine_version”はマインクラフトのバージョンを指します。
アップデートによりコマンドの構文や機能に変更が加わっている場合があります。「バージョンごとの機能の詳細は把握していない。最新のコマンド機能を使用できれば良い。」という場合は最新バージョンを記述しておけば問題ないと思われます。
uuidとは
Universally Unique Identifier の略だそうです。
要するに、桁数が多いので(滅多なことでは)重複しない(であろう)IDのこと。
uuid生成サイトなんかもありますが、こんな感じ↓で生成することも可能です。
.mcfunctionファイル
.mcfunctionファイルは実際にマイクラ内で実行されるコマンドを記述するファイルです。
ファイル名はマイクラ内の/functionコマンドで指定する文字列としても使用します。全角だと正しく動作しないため、半角英数で記述してください。
作成する際は例えば、テキストファイルを作成しファイル名変更で拡張子を「.mcfunction」に変更するだけで簡単に作れます。
ファイル内の編集は好きなテキスト編集ソフトで行ってください。Windowsデフォルトのメモ帳でも編集が可能です。
.mcfunctionファイルに記載するコマンド
.mcfunctionファイルへのコマンドの記述は
- 1行に1コマンド
- コマンド頭の『/』は不要
- #でコメントを記述することも出来る
というルールに従って記述します。
記述例は以下。(コマンド内容には特に意味はありません)
say Hello
tp @s 0 64 0
#コメントも記述可能
time set noon
functionコマンドを実行するとこうなります↓
コメントは無視されて、「say」「tp」「time set」の3つのコマンドが同時に実行されました。
コマンドの実行者
functionで呼び出したコマンドの実行者は以下になります。
- プレイヤーがテキストチャット上で実行した場合→プレイヤー
- コマンドブロックで実行した場合→コマンドブロック
functionコマンド用ビヘイビアパックを生成&ダウンロード
以下のページではfunctionコマンド用の基本的なフォルダ構成やmanifest.jsonなどを生成してダウンロードすることが出来ます。
簡単に作れるので試してみてください。