【マイクラ】データパックの作り方を解説します!

データパック

前置き

ましゅまろ
ましゅまろ

データパックを作ってみたいけどやり方がわからない….
そんな方いらっしゃいますよね?

ずんだもん
ずんだもん

わからないんだぞ…

ましゅまろ
ましゅまろ

そんな方々のために今回はデータパックの基礎の作り方を紹介していきたいと思います!

この記事は、Minecraft 1.21.11向けに解説しています。

そもそもデータパックって?

Java Editionにおいて、プログラムの知識不要でゲームのルール、レシピ、進捗、ルートテーブル、ワールド構造などを改造・拡張できる標準機能…らしいです。

準備するもの

  • Minecraft JavaEdition
    ※統合版ではできません。
  • VSCode
    テキストエディター。データパックは”.mcfunction”や”.json”を記述するので必須です。

下準備

テキストエディタをダウンロードしましょう。
※今回はデータパック解説の為インストール方法は省きます。

データパック作成の手順

手順
  • Step 1
    フォルダを作ろう

    好きな場所に自分のデータパック名のフォルダを作りましょう。

  • Step 2
    Pack.mcmetaを作ろう

    Step 1でつくったフォルダの中に”pack.mcmeta”を作りましょう。
    そのファイルに下記の通りに記述してください。
    データパックの説明と書かれているところは自分のデータパックの説明を書きましょう。pack_formatというのは、マイクラのバージョンを指し示すものです。
    (最後にpack_formatとマイクラバージョンの一覧を載せておきます。)

    {
      "pack": {
        "pack_format": 94,
        "description": "データパックの説明"
      }
    }
  • Step 3
    さらにフォルダを作ろう

    Step 1で作ったフォルダの中に”data”フォルダを作ってください。

    dataフォルダの中に、”main”フォルダ、”minecraft”フォルダを作りましょう。

    minecraftフォルダーの中身

    データパック名\data\minecraft\tags\function\
    このfunctionフォルダの中に”load.json”、”tick.json”ファイルを作ります。

    mainフォルダーの中身

    今回はコマンドをデータパックから実行するだけなので、mainフォルダーの中に、functionフォルダを作ってください。

  • Step 4
    load.json、tick.json

    load.jsonには

    {
        "values": [
            "main:load"
        ]
    }

    と記述してください。

    tick.jsonには

    {
        "values": [
            "main:tick"
        ]
    }

    と記述してください。

  • Step 5
    main\functionの中身

    まず、funcrtionフォルダの中身に、
    load.mcfunction、tick.mcfunction、main.mcfunctionファイルを作ってください。
    ※今回はload.mcfunctionは使用しません。

  • Step 6
    tick.mcfunctionにコマンドを記述しよう

    試しに下記のコマンドを記述してみましょう。

    execute as @a at @s run setblock ~ ~-1 ~ diamond_block
  • Step 7
    main.mcfunctionにコマンドを記述しよう

    試しに下記のコマンドを記述してみましょう。

    give @a diamond_block 64
  • Step 8
    マイクラに導入しよう

    作ったデータパックを

    C:\Users\ユーザー名\AppData\Roaming\.minecraft\saves\ワールド名\datapacks\

    の中に入れましょう。

    Warning

    既存のワールドに入れないようにしましょう。
    必ずワールドを新規作成してください。
    データが破損する可能性があります。

    そしたらチャット欄に

    /datapack list

    と打ちましょう。

    こうなっていれば成功です。


    もしこうなっている場合は、

    /datapack enable "file/自分のデータパックの名前"

    と、チャット欄で入力してください。

    こうやって出れば成功です。

  • Step 9
    動作確認をしよう

    歩き回ってみてください。

    こんな感じに足元にダイヤブロックが生成されていれば完成しています。

    また、以下のコマンドを打ってみてください。

    /function main:main

    実行してダイヤブロックが64個手に入れば問題ありません。
    おめでとうございます。データパックの完成です!

ましゅまろ
ましゅまろ

お疲れ様です!これでデータパックは完成です!

ずんだもん
ずんだもん

意外と簡単にやれたよ!

後付け解説

tick.jsonとload.jsonの役割

tick.json

このファイルの中に書いた.mcfunctionを毎tick読み込み続ける。

load.json

このファイルの中に書いた.mcfunctionをデータパックがロードされるたびに読み込む。

ましゅまろ
ましゅまろ

要するにtick.jsonに記述された.mcfunctionはコマンドブロックで言う、”リピートコマンドブロック”になるってことだね!

ずんだもん
ずんだもん

load.jsonに記述された.mcfunctionはワールドに入ったときや、/reloadコマンドを使った時に読み込まれるってこと?

ましゅまろ
ましゅまろ

そうだね!大体scoreboardコマンドとかで使うイメージが強いかな?

記述の仕方

記述の仕方はStep 4でも説明しましたが、load.json、tick.jsonともに、

{
    "values": [
        "ファイル名"
    ]
}

と記述します。
複数ファンクションを読み込ませたい場合は、

{
    "values": [
        "ファイル名",
    "ファイル名"
    ]
}

のように記述すれば大丈夫です。

終わりに

データパックはコマンドさえできれば、ファイル構成を覚えるだけでいいので割と簡単な方だと思います。やり方さえ覚えてしまえばあなたもコマンドブロックよりデータパックで作った方が楽ということに気づくはず……最後まであきらめずに頑張ってみましょう!

ましゅまろ
ましゅまろ

初めての投稿(解説)でしたがどうでしたか?

ずんだもん
ずんだもん

これでわかってくれると嬉しいんだぞ!

ましゅまろ
ましゅまろ

では最後までお読みいただきありがとうございました。
次回の記事でお会いしましょう!

\ 最新情報をチェック /

コメント

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