※ この記事はバージョン1.13以降対象です.
さてさて,前提知識の最終章,functionです.
今回は,例えば
- 武器を与える.
- 体力を回復させる.
- テレポートさせる.
のように連続してコマンドを実行したい場合を考えます.
「コマンドブロックとは」の知識を使えば,1のコマンドを設定した後2をチェーンで繋げばいいことがわかると思います.
しかし,このコマンド数が数十個にも及ぶ場合,その大量のコマンドの数だけチェーンのコマンドブロックを設置するのは大変です.
このような時に使える,複数のコマンドを一括で実行できるようにする機能がfunctionです!これをマスターすると,こんなゲームを作ったりできます!
準備
functionは.mcfunctionという拡張子を持つファイルに一括実行したいコマンドを書き込んで,そのファイルをワールドデータの指定の場所に置く必要があります.概要の図はこんな感じ↓
よって前準備として.mcfunctionのファイルを置く場所を作ります.
①ワールドデータを開きます
Minecraftのトップメニューから,「設定…」→「リソースパック…」→「リソースパックフォルダーを開く」を押します.
開かれたフォルダ「resourcepacks」と同じフォルダに入っている「saves」から,functionを作りたいワールドのフォルダを選択します.
②datapacksの中にフォルダを作る
ワールドのフォルダを開いたら,その中の「datapacks」の中に好きな名前のフォルダを作ります(半角だったらフォルダ名はなんでもOK).
新規フォルダの作り方は,
- Mac 右クリック→「新規フォルダ」
- Wondows 右クリック→「新規作成(X)」→「フォルダー(F)」
ですね!
③さっき作ったフォルダの中にdataフォルダとmcmetaを作る
②で作ったフォルダの中に「data」という名前のフォルダを作ります.
また,「pack.mcmeta」を作り,中身を
{
"pack": {
"pack_format": 1,
"description": "datapack"
}
}
にします.「pack.mcmeta」の作り方がわからない場合,Windowsの方はこちら.Macの方はこちら.
④さっき作ったdataの中にフォルダを作る
③で作った「data」フォルダの中に,好きな名前のフォルダを作ります(これも半角だったらフォルダ名はなんでもOK).
⑤さっき作ったフォルダの中にfunctionsフォルダを作る
④で作ったフォルダの中にfunctionsという名前のフォルダを作ります.
以上で準備は終わりです.functionファイルを作ったら,⑤で作成したfunctionsのフォルダの中に入れていきます.
functionファイルを作る
さて,長い長い準備が終わったところでfunctionファイルを作っていきましょう.
とりあえずさっき作ったfunctionの中に,好きな名前(半角)で拡張子が.mcfunctionのファイルを作りましょう(作り方はpack.mcmetaの時と同じですね).
この中に,同時に実行したいコマンドを1行ずつ書いていきます.例えば
say こんにちは
say 今日は
say いい天気ですね
こんな具合ですね(sayコマンドについてはこちら).ここで一つ気をつけなければいけないことは,コマンドの最初に入れる/
は消しましょう!
また,最初に#
をつけることでコメントを入れることが可能です.これは実行に影響を与えないメモみたいなものです.
#まずは挨拶
say こんにちは
#その後質問
say あなたは誰?
さて,それではfunctionsフォルダの中に.mcfunctionファイルを作れましたね!
fuctionを実行する
ここまできたら,後は実行するだけです!
functionsを作成したワールドに入りましょう.
すでにワールドに入った後にfunctionを編集した場合は,\reload
というコマンドを実行しましょう.
ワールドに入れたら,以下のコマンドを実行しましょう
\function [④で作ったフォルダ名]:[functionファイル名]
[④で作ったフォルダ名]
は自分で作成したフォルダ名に置き換えてください.[functionファイル名]
も同じです.拡張子(.mcfunction)はいりません.
…さて,うまく実行できましたか?
できなかった場合,以下の項目をチェックしてみましょう
- フォルダ名,ファイル名はあってる?
- pack.mcmetaの中身はあってる?
- .mcfunctionファイルで書いたコマンドの頭に
/
がついてない? - コメントの最初に
#
を付け忘れてない?
まとめ
さて,functionとは複数のコマンドを一括で実行できるようにする機能でした.それを使うためにはなんかたくさんのフォルダやpack.mcmetaを作って,最後にfunctionsフォルダの中にコマンドをまとめた.mcfunctionファイルを入れました.実行するコマンドは\function
でしたね.
コメント