MC Toolkit

ガイド / トラブルシューティング

データパックが読み込まれない?フォルダ構造と一致させるべき3つの名前

/datapack list に表示されないデータパックは、コードではなくパスの問題です。正確なツリー構造、名前空間のルール、そして名前が変わったフォルダを解説します。pack.mcmetaとdataは同じ階層に置きます。

/datapack list に何も表示されない、あるいはパックが無効として表示される。ほとんどの場合、JSONは正常でフォルダが間違っています。

ツリー構造

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    ├── my_namespace/
    │   ├── function/         one .mcfunction per file
    │   ├── recipe/
    │   ├── loot_table/
    │   ├── advancement/
    │   └── predicate/
    └── minecraft/
        └── tags/
            └── function/
                └── load.json

3つの名前を揃える必要があり、そのうち1つは分かりにくいものです:

  1. パックのルートにある pack.mcmeta — data/ の中ではなく、隣に置きます。
  2. data/<namespace>/ — あなたの名前空間。小文字で、スペースなし。これが my_namespace:my_function のプレフィックスになります。
  3. カテゴリフォルダの名前 — これが変更されており、たいていの原因になります。

フォルダ名が単数形に変更された

これは多くのパックと多くのチュートリアルを壊しました:

旧現在
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

複数形の名前を使っているパックは読み込まれます — /datapack list に表示されます — が、何も動作しません。これがこの一連の中で最も混乱を招く失敗の仕方です。tags/ は複数形のままでしたが、その中のフォルダは他と同じく単数形になりました — tags/functions/ は現在 tags/function/ です。ええ、一貫性がありません。

何かを自動で実行する

2つの特別なタグ:

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

data/minecraft/ であり、自分の名前空間ではないことに注意してください — タグはMinecraftに属し、それが指す関数はあなたに属します:

{ "values": ["my_namespace:setup"] }

順番に診断する

  1. /datapack list — パックが全く表示されない場合、pack.mcmeta が欠けているか、壊れているか、1階層深すぎます。
  2. 表示されるが無効 — /datapack enable "file/my_pack"。file/ プレフィックスと引用符に注意してください。
  3. 表示されて有効だが機能しない — 複数形のフォルダ名、または minecraft ではなく自分の名前空間にロードタグがある。
  4. /reload を実行してログを読む(logs/latest.log、またはランチャーの出力)。構文エラーのある関数はそこに「Failed to load function …」として記録されます。チャットにはリロードが完了したとしか表示されません。

zip形式かフォルダ形式か

どちらも動作します。zip形式の場合はzipのルートに pack.mcmeta を置きます。リソースパックと全く同じです。フォルダ形式は開発中に便利です。再zipせずに /reload が編集を反映してくれるからです。

サーバーでの配置

サーバーではパスは <world>/datapacks/ です。ここで <world> は server.properties 内の level-name の値です — サーバーのルートではありません。パックをサーバーフォルダに置いてしまうのが、サーバー側で最もよくある間違いです。

現在のフォルダ名と有効な pack.mcmeta でパックを組み立てて、すぐに配置できる形でダウンロードするには、Datapack Studio を使ってください — そして上記のように、ロードタグは data/minecraft/tags/function/ に置いてください。

データパックスタジオ →

その他のガイド

すべて見る →