《BE1.9.0対応》大量のコマンドブロックからおさらばしよう。functionコマンドの使い方【初級コマンド講座 #13】

どうも、初級コマンド講座第13回です。

今回は、v1.8.0からの新機能functionについて解説していきます。大量のコマンド群を一纏めにしてスッキリさせましょう。

前回の初級コマンド講座はこちら!


1./functionコマンドとは

まずfunctionとは、複数のコマンドを1つのコマンドに纏めることができるものです。

例えば、家を建てるコマンドを作る場合、/fillや/setblockのコマンドを幾つも繋げる必要がありますよね。当然コマンドブロックを大量に繋いで、一つ一つにコマンドを書かなければいけません。これはかなり大変な作業です。

しかしfunction機能を使えば、用意するコマンドブロックは1つで済みます。さらに、コマンドを書く作業も大幅に楽になります。

このように、function機能は今までチェーンで大量に繋いでいたコマンドブロックをまとめることができる機能になっています。

2.functionを追加する

ファイル構成

まずfunctionは、ビヘイビアパックとして追加する必要があります
なので、まずはファイルマネージャーを使い、適当なところにフォルダを作成します。名前はどんなものでも構いませんが、今回は”examplefunction“というフォルダを作成します。
作成したフォルダの中に、functionsという名前のフォルダ、manifest.jsonpack_iconという名前の画像を追加します。
pack_iconはどんな画像でも構いません。最後に配布するテンプレートの画像をそのまま使えば大丈夫です。
そして、最後にfunctionsフォルダの中に、拡張子.mcfunctionのファイルを作成します
このファイルも名前は自由ですが、日本語だとfunctionを実行できないので注意してください。この.mcfunctionのファイルの名前がゲーム内でfunctionを実行する時の名前になります

今回はexample.mcfunctionという名前にします。

ファイル構成はこれで完成です。次は、manifest.jsonの中身を記述します。

manifest.jsonの中身を記述する

次は、manifest.jsonの中身を記述します。とは言ってもほぼテンプレートそのままで大丈夫です。
ただし、後述する必ず変えなければいけない部分は適宜変更してください
ちなみに、普通のアドオンとは若干記述が違いますので気を付けてください。

まずは、テキストエディタ(わからなければメモ帳でok)で以下をコピペしてください。

以上をコピペしたら、”description”:と”name”:の後ろのexamplefunctionexampleの部分を好きな名前に変えてください。日本語でも大丈夫です。
“description”:の後ろの部分がfunctionの説明文、”name”:の後ろはfunctionの名前になります。

次に、”uuid”:の後ろの部分の””の中身を2つともuuid生成サイトからuuidをコピペして入れ替えてください。(uuidについて知っている方は数字を変えるだけでも大丈夫です。)
uuidはアドオン(functionを含む)を識別するためのものなので、必ず入れ替えてください。

以上の場所以外は変更する必要はありません。

.mcfunctionファイルの中身を記述する

最後に.mcfunctionファイルの中身を記述します。この中にまとめたいコマンドを記述する必要があります。
ただし、記述には一つルールがあり、一行に一つのコマンドを書く必要があります

例として、力2と耐性2をプレイヤーに与えるコマンドを記述してみます。
この場合、

effect @p strength 30 1
effect @p resistance 30 1

と、二行に分けて記述する必要があります。/はなくても構いません。

ちなみに、上の行のコマンドから順に実行されていきます。チェーンコマンドブロックを繋げて実行した時と挙動は同じですが、コマンドブロックのように条件付きをかけることはできません。正直、筆者も条件付きの機能は欲しいですが、仕様なので諦めましょう。

マイクラにインポートする

ここまで記述が終わったらあとは普通のアドオンと同じようにインポートするだけです。この3つのファイルを選択して、zipに圧縮しましょう。

圧縮したら、拡張子を.mcpackにして開けばインポート完了です。

3.ワールド内でfunctionを実行する

いよいよfunctionを実行しましょう。インポートに成功していればビヘイビアパックに表示されているはずなので、それをfunctionを使いたいワールドに入れましょう。

実行する時は、

/function [.mcfunctionのファイル名]

で実行します。今回はファイル名がexampleなので、

/function example

を実行します。

実行に成功したら、コマンドが実行された後”関数のエントリ[コマンド数]を実行しました”とでます。

ちゃんとすべてのコマンドが実行されていれば追加成功です。実行されない場合は.mcfunction内のコマンドが間違えてないか、また名前の入力を間違えてないかを確認しましょう。

4.functionテンプレート

function追加のテンプレートを配布します(mediafire)。manifest.jsonなどはこれを参考にしてください。

テンプレートダウンロード


今回は、v1.8.0の新要素、functionについて解説しました。若干アドオンの知識がいるので解説に苦労しましたが、テンプレートを参考に作ってください。

次回は、これまた新要素/particleコマンドの解説をする予定です。
では、閲覧ありがとうございました。


前の講座↓

次の講座↓
更新をお待ちください。