空のパック(アドオン)を作る

はじめに

この記事は、マイクラ統合版1.21.130の時に作成された内容です。

この記事では、マイクラのアドオンの空のパックを作成します。実際に、ゲーム内にアドオンのパックが表示されるところまで解説します。

もし、アドオン制作の準備ができていないひとは以下の記事を参考にして準備してください。

パックのフォルダの作成

まずは、エクスプローラーで📁development_behavior_packsと📁development_resource_packsがある場所を開きます。

まずは、ビヘイビアーパックのフォルダから作成しましょう。📁development_behavior_packsの中にビヘイビアーパックのフォルダを作成します。名前はなんでもいいです。ここでは練習用のビヘイビアーパックということで、📁practiceBPとします。practiceの後ろにBPと付いていますが、これはbehavior packの略です。これを付けることでこのフォルダのアドオンはビヘイビアーパックだということを分かりやすくしています。

次に、リソースパックのフォルダを作成します。📁development_resource_packsの中にリソースパックのフォルダを作成します。これも名前はなんでもいいです。ここでは、📁practiceRPとします。ビヘイビアーパックと同様にフォルダ名の後ろにRPを付けています。これは、resource packの略です。

Visual Studio Codeでワークスペースを作成する

まずは、Visual Studio Code(以下、VScode)を開き、左上にある「エクスプローラー」を押して以下のようにエクスプローラー(VScode内)のメニューが出るようにします。

先ほど作成した📁practiceBPと📁practiceRPを上の画像の青枠内にドラッグアンドドロップします。1つ目のフォルダ追加は問題なくできると思いますが、2つ目のフォルダを追加しようとすると以下のようなポップアップが出てくると思います。「フォルダーをワークスペースに追加」を選択してください。

すると、以下の画像のようになると思います。

ワークスペースの保存

今、作成したワークスペースを保存していつでもすぐに開けるようにします。

VScodeの左上にある「ファイル」→「名前を付けてワークスペースを保存」の順に進みます。

すると、ワークスペースを保存する場所を聞かれるので、わかりやすい場所に保存しておきます。以下の記事を参考にアドオン制作の準備を行った方は📁minecraftBEに保存すると便利です。

ファイル名はなんでもいいので、今回はpractice.code-workspaceにしておきます。

これで、「保存」を押せば、ワークスペースの保存ができます。念のため、エクスプローラーを開き、保存した場所にワークスペースのファイルが追加されているか確認してみましょう。もし、ファイルが無ければ、もう一度作り直してみましょう。

マニフェストを作成する

それでは、パック(アドオン)を作成する際に必要となるマニフェストを作成していきます。このマニフェストというものがないとMinecraft側がパック(アドオン)ということを認識できません。逆に言うと、マニフェストがあれば他に何も無くてもパック(アドオン)として認識されます。つまり、空のパック(アドオン)が完成するということです。

「マニフェスト」という言葉に聞きなじみがない方もいると思いますが、Minecraftのパック(アドオン)では、そのパック(アドオン)がどういうものなのか?を定義するためのファイルです。他にも、機能はあるのですが、最初は「パックの定義」だけで大丈夫です。

それでは、コードの作成に進んでいきます。先ほど作成したワークスペースをVScodeで開いて準備しましょう。

また、事前に以下の記事を読むことで、JSONについての知識を得られるので、このあと、実際にコードを書くときに理解しやすくなります。

ビヘイビアーパックのマニフェスト

まずは、ビヘイビアーパックのマニフェストから作成します。左上の「エクスプローラー」の中にある📁practiceBPを選択した状態で、「新しいファイル」を選択します。

ファイル名は📝manifest.jsonにします。このファイル名を間違えてしまうと、動かないので注意しましょう。

ファイルが作成できたら、以下のコードを作成したファイルに書いてください。

{
    "format_version": 2,
    "header": {
        "name": "練習用アドオンBP",
        "description": "練習用アドオンBPの説明",
        "uuid": "10c2b1f6-821b-406e-b444-ecc1d177bcdd",
        "version": [ 1, 0, 0 ],
        "min_engine_version": [ 1, 21, 130 ]
    },
    "modules": [
        {
            "type": "data",
            "uuid": "141540cb-8e0f-492e-86e3-a25973ddb639",
            "version": [ 1, 0, 0 ]
        }
    ]
}

このコードに書かれている内容を大きく分けると、format_versionheadermodulesの3つに分けることができます。

format_versionはmanifestの書き方のバージョンを指定します。ビヘイビアーパックの場合は2を指定してください。

headerはパックの情報を書きます。headerの中に色々とオブジェクトがあります。
nameはアドオンの名前を指定します。文字列を書くことができるので、日本語でも英語でもなんでも使えます。
descriptionはアドオンの説明を指定します。これもnameと同様に日本語でも英語でも使えます。
uuidはアドオンを識別するためのIDを記述するところです。このUUIDを使ってMinecraftはアドオンを識別しています。ランダム生成させたものを記述することがほとんどです。VScodeで拡張機能を入れていると自動で入力されると思います。もし、されない方は以下のサイトにアクセスして、UUIDをコピーしてuuidを指定している部分を書き換えてください。

Online UUID Generator Tool
Quickly and easily generate individual or bulk sets of universally unique identifiers (UUIDs).

versionはパックのバージョンを書きます。基本的に初めて作成するときは[ 1, 0, 0 ]を指定してください。もし、パックをネット上に配布するときに機能をつけ足してアップデートをしたら、このバージョンを書き換えます。例:[ 1, 1, 0 ]や[ 2, 0, 0 ]など
min_engine_versionはこのパックが動作するMinecraftの最低バージョンを書きます。特に理由がない場合はパック作成時点のMinecraftのバージョンを指定してください。

modulesはパックのモジュールを書きます。モジュールと言うのは「部品」という意味です。パックに必要なモジュールを書くのですが、今回は空のビヘイビアーパックなので、最低限必要なモジュールを書いています。
typeはパックのタイプを書きます。ビヘイビアーパックの場合はdataを指定します。
uuidはheaderのuuidと同じ意味ですが、こちらはモジュールのUUIDのため、異なるUUIDを書く必要があります。
versionはモジュールのバージョンを書きます。こちらも基本的には[ 1, 0, 0 ]を書いておけば大丈夫です。

これで、空のビヘイビアーパックは完成です。

リソースパックのマニフェスト

次に、リソースパックのマニフェストを作成していきます。ビヘイビアーパックと同様に📁practiceRPに📝manifest.jsonを作成します。

作成したファイルに以下のコードを書いてください。

{
    "format_version": 2,
    "header": {
        "name": "練習用アドオンRP",
        "description": "練習用アドオンRPの説明",
        "uuid": "4e1adcc6-0352-4a42-93a6-54532a7f4f3f",
        "version": [ 1, 0, 0 ],
        "min_engine_version": [ 1, 21, 130 ]
    },
    "modules": [
        {
            "type": "resources",
            "uuid": "a195ebbc-050b-4b7e-baa6-f52de0f31e84",
            "version": [ 1, 0, 0 ]
        }
    ]
}

コードはビヘイビアーパックとほとんど同じだと思います。パックの名前、説明を少し変えているのと、UUIDを変えていること、それと、modules内のtypeが変わっているだけだと思います。

先ほど、ビヘイビアーパックの時はtypeをdataにすると話しましたが、リソースパックの場合はresourcesを指定する必要があります。

これで、リソースパックは完成です。以下の画像のようにフォルダとファイルがあれば大丈夫です。

動作確認

それでは、Minecraftにちゃんと反映されているか確認してみましょう。

Minecraftを開き、ワールドの新規作成画面を開きます。ビヘイビアーパックとリソースパックの設定で、作成したパックがあると思うので、「認証する」を押して、パックが使用中に表示されるようにしましょう。

この状態で、ワールドを作成すると、このワールドでアドオンの動作確認などができるようになります。