マインクラフトでコマンドを実行するためには大きく分けて3つの方法があります。
①チャット欄から実行する
②コマンドブロックから実行する
③ファンクションファイルから実行する
①の方法では一度に一個のコマンドしか実行することができません。
②の方法ではコマンドブロックをつなげることで複数のコマンドを一度に実行することができますが、コマンドの数が増えると必要なコマンドブロックの数も増えていきます。
また動作を一部変更しようとしたり不具合が発生したときに修正するのが結構たいへんです。
コマンドを使って複雑な仕組みを作ろうとすると③のファンクションファイルを使用するのが一番便利です。ただし,ファンクションファイルを使うためには若干難易度の高い初期設定が必要になります。
今回はマインクラフトJAVA版1.21.3以降でファンクションファイルを導入するための方法について解説していきます。
ちなみにバージョン1.21.3より
ファンクションファイルのディレクトリ構造が一部変更されました。
昔の導入方法では正常に実行できないので注意が必要です。
【ver1.21.3以降ファンクションファイル導入方法】
■ファンクションファイルはつぎのディレクトリに配置する必要があります。
saves→ワールド名→datapacks→任意フォルダ1→data→任意フォルダ2→function→●ココ
任意フォルダ1以下の階層を制作しなくてはならない上、mcmetaテキストファイルの作成が必要となります。
テキストエディタに以下の内容を貼り付けて[pack.mcmeta]という名前をつけて保存してください。
{
"pack":{
"pack_format":57,
"description":"datapack"
}
}
保存したファイルを以下の階層に保存してください。
switchfunction
|
→data
| pack.mcmeta
|
→switch
|
→function
ファンクションファイルを導入する階層までの雛形のフォルダを作りました。
zipファイルを解凍して「switchfunction」フォルダをセーブデータの中にある「datapacks」に入れるだけで使えます。(一緒に入っている「switchfunction_json」フォルダはJSON実行用のオマケ)
【1.21.3】switchfunction導入データ.zip
ファンクションファイルを作成するにはテキストエディタで適当にファイルを作って
「好きな名前.mcfunction」という名前で保存してください。
このとき「好きな名前」は小文字英数字である必要があります。日本語で名前をつけたり大文字アルファベットにしたりすると認識してくれません。数字や記号から始めるのもやめておいたほうが無難です。
こうして作ったファンクションファイルにコマンドをいっぱい書くことができるわけですがチャット欄やコマンドブロックと違ってコマンド先頭に”/”をつけると認識しなくなるので絶対につけないでください。
コマンドを入力したファンクションファイルはこのフォルダのなかにあるfunctionフォルダの中に入れます。
このfunctionフォルダ以下に任意のフォルダをつくっても大丈夫です。
■ファンクションファイル実行コマンド
・saves/ワールド名/datapacks/任意フォルダ1/data/任意フォルダ2/function内にあるtest.mcfunctionを実行したいときは以下のコマンドで実行できます。
/function 任意フォルダ2:test
任意フォルダ2の名前を[switch]とした場合は
/function switch:test
となります。
———————————————–
・functionフォルダ以下に任意のフォルダをつくった場合
saves/ワールド名/datapacks/任意フォルダ1/data/任意フォルダ2/function/任意フォルダ3にあるtest.mcfunctionを実行したいとき
/function 任意フォルダ2:任意フォルダ3/test