JavaEdition(PC版)のver.1.12から「ファンクションシステム」が導入されてます。
コマンドを打つ人からしたら、ほぼメリットしかないのですが、そうじゃない人からすると、「ファンクションファンクションってなんやねん・・・。」と思うことでしょう(ファンクションを知る前の僕もそうでした)。
僕の動画内でもサラっと「ファンクションです!」と言ってるけど、いまいちよくわかってない人もいると思います。
ということで、今回は「ファンクションシステムとは」、「ファンクションの導入方法(1.12/1.13)」について解説していきます。
そもそもファンクションとは
ファンクションが導入される以前は、コマンドを実行するときにはコマンドブロック1個に1つのコマンドを打ち込む必要がありました。
が、ファンクションシステムを使えば、一つのテキストファイルに複数のコマンドを一気に書き込むことができます。
このおかげでコマンドを付けたしたい時は、ブロックをいちいち壊して入力し直す必要はなく、テキストを書き換えるだけで良いのです!すごくありがたいです。
コマンドを使う側からしても、コマンドの導入がテキストファイルのコピペだけで済むので、簡単です。
いちいちコマブロを置いてコマンドをコピペして・・・なんてめんどくさいことをしなくて済みます。
ファンクションの導入(ver1.12)
バージョン1.12.Xのファンクションの導入方法について解説します。
①ファンクションを導入したいワールドのフォルダを開きます。
②中にあるdataフォルダを開きます。
③さらにその中にあるfunctionsフォルダを開きます。
④その中に名前は何でもいいのでフォルダを作成します。
⑤その作成したフォルダの中にmcfunction、コマンドの中身が入ったテキストを入れます。
ファンクションの導入(ver1.13~)
ver1.13からは、ファンクションの導入方法が少し複雑になります。
僕が配布してるファンクションの場合、datapacksフォルダごと配布してるので、ワールドのフォルダに入れるだけでファンクションが使用できます。
①ファンクションを導入したいワールドのフォルダを開き、その中のdatapacksという名前のフォルダを開く
②datapacksの中に、何でもいいので英語が名前のフォルダを作成します。
③さらにその中にdataという名前のフォルダを作成する
④同じ場所に、テキストファイルを作成し、pack.mcmetaという名前と拡張子にします。
この時、ファイル名拡張子が表示されるようにチェックしてください。
⑤作成したmcmetaファイルをTeraPadなどで開き、次のように入力します。
※TeraPadの公式サイトはこちら
{
"pack": {
"pack_format": 1,
"description": "datapack"
}
}
ファイル -> 文字/改行コード指定保存 -> UTF-8Nで保存します。
※メモ帳だと文字コードが指定できないのでTeraPadなどを使って作成します。
⑥dataフォルダを開き、その中になんでもいいので名前が英語のフォルダを作成します。
⑦作ったフォルダを開き、さらにその中にfuncitonsという名前のフォルダを作成します。
⑧その中にmcfunction(コマンドの中身が入ったファイル)を入れます。
僕が配布してるファンクションの場合、datapacksフォルダを配布してるので、ワールドのフォルダに入れるだけでファンクションが使用できます。
mcfunction(コマンド)ファイルの作り方
次は、コマンドが入っているmcfunctionファイルの作り方です。
これも、文字/改行コードをUTF-8Nにしないといけないので、TeraPadやVisualStudioCodeなどを使うのをオススメします。
僕はVisualStudioCodeを使っています。有志の方がmcfunctionに特化したパッチのようなものを作成しているので、ありがたく使用させてもらってます。
VisualStudioCodeのサイトはこちら
mcfunction用のパッチはこちら
コマンドは以下のように書きます。
(画像はVisualCodeStudioを使用したものです)
実行するコマンドは、先頭に/(スラッシュ)を書かないでください。エラーになって実行できなくなります。
先頭に#(シャープ)を付けると、コメントになって実行されません。もちろん、コメントに何を入力してもエラーは起こりません。
ファンクションを実行するときのコマンド
ファンクションを実行するときのコマンドは、functionコマンドを使います。
例えば、バージョン1.13で/saves/新規ワールドaaaa/datapacks/holly/data/hollyspack/functionsにある、functionshereというファンクションを実行したいときは、
/function hollyspack:functionshere
と入力します。
作ったフォルダの名前によって入力するコマンドが異なるので、確認しましょう。
ちゃんと正しく導入できていたら、Tabキーの補完機能でわざわざ入力しなくても出てきます。
出てこない時は、導入を失敗したか、コマンドの内容が間違っています。確認してみましょう。
ファンクションはコマンド界におけるまさに革命児です。ガンガン使いましょう!