#1 基礎 - 意外と簡単データパック制作

こんにちは(こんばんは)Shizukuです。
今回はデータパックの作り方について、書いていこうと思います。


事前準備 - (※=必要なもの, *=あるといいもの)

※ Minecraft JAVA Edition
(統合版ではデータパックを使うことはできません)
* テキストエディタ
(VScodeなどがおすすめですが、サクラエディタなどでも可能です。
ぶっちゃけメモ帳でも)


ファイル構造

pack (データパックファイル名)
 ┣ pack.mcmeta
 ┣ pack.png

 ┗ data
   ┣ minecraft
     ┣ advancements
     ┣ chat_type
     ┣ dimension_type
     ┣ functions

     ┣ loot_tables
     ┣ recipes
     ┣ structures
     ┗ worldgen
     ┗ tags
      ┗ functions
       ┣ load.json
       ┗ tick.json
   ┗ test(半角英数ならなんでもどうぞ)
     ┣ advancements
     ┣ chat_type
     ┣ dimension_type
     ┣ functions

     ┣ loot_tables
     ┣ recipes
     ┣ structures
     ┣ tags
     ┗ worldgen
 


それぞれの説明

pack = データパックの名前 (/datapack listで出てくる名前)(好きな名前でok)
pack.png = データパックのアイコン 9割の人が見ない (pngファイル)
pack.mcmeta = このフォルダがデータパックであると宣言するメタデータ
data = ここから先にデータパックの内容があるというフォルダ
minecraf = デフォルトのMinecraftの名前空間
test(半角英数ならなんでも) = 独自で作れる名前空間 複数設置可

advancements = 実績
chat_type = サーバーサイドで決めれる文字
(/sayを使用した時に出る「[名前]」の部分などを変えれる)
dimension_type = ディメンションの種類 (水が蒸発するか等)
loot_tables = アイテムのランダム要素 (mobを倒した時のドロップ等)
recipes = 作業台,かまど,溶鉱炉,燻製機,焚き火などを使用したレシピ
structures = 生成物 (村等)
tags = Entity, Item, Blockのタグ
worldgen = 地形の生成

既存の名前空間に入れた場合上書きされる。
(空白のレシピを既存のホッパーと同じ名前でminecraft(フォルダ)のレシピのフォルダに入れるとホッパーのレシピが変わるということ)
ちなみにpack.mcmeta以外のフォルダ、ファイルは中身がない場合省略してもいい。


pack.mcmetaを作る

Q,「pack.mcmetaってなんや?」
A,「データパックと認識させるためのファイルです」

{
     "pack": {
          "description": "説明",
          "pack_format": 1
     }
}

description の右にある「説明」という文字は好きに変えていただいて構いません。何にしろ説明ですから使用する人が分かりやすいようにどう言った内容のデータパックなのかを記述することをおすすめします。
pack_format の右にある数字(上の場合は1)はDataPackに対応したMinecraftのバージョンを記述します。以下の数値を見て作りたいデータパックのバージョンに合わせ、記述してください。今回は1.19.4で作るため11に設定します

4 : 1.13 ~ 1.14.4
5 : 1.15 ~ 1.16.1
6 : 1.16.2 ~ 1.16.5
7 : 1.17 ~ 1.17.1
8 : 1.18 ~ 1.18.1
9 : 1.18.2
10 : 1.19 ~ 1.19.3
11 : 1.19.4(23w03a) ~ 1.19.4(23w05a)
12 : 1.20(23w12a) ~ 

{
     "pack": {
          "description": "テストのデータパック",
          "pack_format": 11
     }
}

このように記述できましたら、「pack.mcmeta」という名前で保存してください。ファイル末尾(拡張子と呼びます)が「.mcmeta」になるようにしてください。


動作確認

pack.mcmetaの入ったフォルダはどれもデータパック(リソースパック)として読み込まれるので試しにdatapacksフォルダに入れてワールドに入り「/reload」と打ち、「/datapack list」と打ってみてください。

「vanilla(ビルトイン)」はデフォルトで存在するバニラのデータパック

このようになればデータパックを作成する準備ができました。
というか導入までできています!
もし「2個のデータパックが有効になっています」が「1個のデータパックが有効になっています」などの場合はフォルダ構造などを見直してみてください。
この時点で出てくる問題はpack.mcmetaしか考えられないので以下を確認してみてください

  • .mcmetaファイルになっているか。

  • 内容の記述がJSON形式になっているかどうか。

  • 中の「,」や「"」を書き忘れていないか。

これ以外では考えられることが少ないと思います


最後に

データパックの基礎がわかりましたか?
これは基礎ですのでWIKIや他の記事と一緒に見て参考にしてみてください
参考記事

次回 - 関数(Function)


この記事が気に入ったらサポートをしてみませんか?