スポンサーリンク

【Minecraft】Functionとは!初心者に向けてシンプル解説(Var1.13〜)

※ この記事はバージョン1.13以降対象です.

さてさて,前提知識の最終章,functionです.
今回は,例えば

  1. 武器を与える.
  2. 体力を回復させる.
  3. テレポートさせる.

のように連続してコマンドを実行したい場合を考えます.

commands

コマンドブロックとは」の知識を使えば,1のコマンドを設定した後2をチェーンで繋げばいいことがわかると思います.

chainblockfunction

しかし,このコマンド数が数十個にも及ぶ場合,その大量のコマンドの数だけチェーンのコマンドブロックを設置するのは大変です.
このような時に使える,複数のコマンドを一括で実行できるようにする機能がfunctionです!これをマスターすると,こんなゲームを作ったりできます!

functionimage

準備

functionは.mcfunctionという拡張子を持つファイルに一括実行したいコマンドを書き込んで,そのファイルをワールドデータの指定の場所に置く必要があります.概要の図はこんな感じ↓

directry

よって前準備として.mcfunctionのファイルを置く場所を作ります

①ワールドデータを開きます

Minecraftのトップメニューから,「設定…」→「リソースパック…」→「リソースパックフォルダーを開く」を押します.

setting
resourcepack
openfolder

開かれたフォルダ「resourcepacks」と同じフォルダに入っている「saves」から,functionを作りたいワールドのフォルダを選択します.

worlddata

②datapacksの中にフォルダを作る

ワールドのフォルダを開いたら,その中の「datapacks」の中に好きな名前のフォルダを作ります(半角だったらフォルダ名はなんでもOK).
新規フォルダの作り方は,

  • Mac 右クリック→「新規フォルダ」
  • Wondows 右クリック→「新規作成(X)」→「フォルダー(F)」

ですね!

hoge

③さっき作ったフォルダの中にdataフォルダとmcmetaを作る

②で作ったフォルダの中に「data」という名前のフォルダを作ります.
また,「pack.mcmeta」を作り,中身を

{
"pack": {
"pack_format": 1,
"description": "datapack"
}
}

にします.「pack.mcmeta」の作り方がわからない場合,Windowsの方はこちら.Macの方はこちら

data

④さっき作ったdataの中にフォルダを作る

③で作った「data」フォルダの中に,好きな名前のフォルダを作ります(これも半角だったらフォルダ名はなんでもOK).

data

⑤さっき作ったフォルダの中にfunctionsフォルダを作る

④で作ったフォルダの中にfunctionsという名前のフォルダを作ります.

data

以上で準備は終わりです.functionファイルを作ったら,⑤で作成したfunctionsのフォルダの中に入れていきます.

functionファイルを作る

さて,長い長い準備が終わったところでfunctionファイルを作っていきましょう.
とりあえずさっき作ったfunctionの中に,好きな名前(半角)で拡張子が.mcfunctionのファイルを作りましょう(作り方はpack.mcmetaの時と同じですね).
この中に,同時に実行したいコマンドを1行ずつ書いていきます.例えば

say こんにちは
say 今日は
say いい天気ですね

こんな具合ですね(sayコマンドについてはこちら).ここで一つ気をつけなければいけないことは,コマンドの最初に入れる/は消しましょう!
また,最初に#をつけることでコメントを入れることが可能です.これは実行に影響を与えないメモみたいなものです.

#まずは挨拶
say こんにちは
#その後質問
say あなたは誰?

さて,それではfunctionsフォルダの中に.mcfunctionファイルを作れましたね!

function

fuctionを実行する

ここまできたら,後は実行するだけです!
functionsを作成したワールドに入りましょう
すでにワールドに入った後にfunctionを編集した場合は,\reloadというコマンドを実行しましょう.
ワールドに入れたら,以下のコマンドを実行しましょう

\function [④で作ったフォルダ名]:[functionファイル名]

[④で作ったフォルダ名]は自分で作成したフォルダ名に置き換えてください.[functionファイル名]も同じです.拡張子(.mcfunction)はいりません.

hallo

…さて,うまく実行できましたか?
できなかった場合,以下の項目をチェックしてみましょう

  1. フォルダ名,ファイル名はあってる?
  2. pack.mcmetaの中身はあってる?
  3. .mcfunctionファイルで書いたコマンドの頭に/がついてない?
  4. コメントの最初に#を付け忘れてない?

まとめ

さて,functionとは複数のコマンドを一括で実行できるようにする機能でした.それを使うためにはなんかたくさんのフォルダやpack.mcmetaを作って,最後にfunctionsフォルダの中にコマンドをまとめた.mcfunctionファイルを入れました.実行するコマンドは\functionでしたね.

コメント

タイトルとURLをコピーしました