Guides / Troubleshooting

pack.mcmeta: pack_formatの数値と「互換性なし」警告について

たった1つの数字が間違っているだけで、Minecraftでパックがグレー表示されてしまいます。ここでは、フォーマットとバージョンのマッピング、この問題を回避できるsupported_formatsの範囲、そしてファイルがどこに配置されるべきかを説明します。

「自分のパックが互換性なしと表示される」という問題のほとんどは、小さなファイルの中のたった1つの数字が原因です。

ファイルについて

{
  "pack": {
    "pack_format": 46,
    "description": "My pack"
  }
}

このファイルは正確にpack.mcmetaという名前で、zipファイルのルートに配置する必要があります。つまり、assets/data/と同じ階層にあり、zipファイル内のフォルダの中には入れないでください。コンテンツではなく、コンテナフォルダをzip化してしまうのが2番目によくある失敗で、これも間違ったフォーマット番号と同じように見えます。

リソースパックとデータパックでは異なる番号を使用します

これが人々を悩ませる部分です。2つのカウンターは数年前に分岐しており、互換性はありません。リソースパックの番号を使用しているデータパックは、その番号が「最新」であってもグレー表示されます。

リリースごとに古くなる表を覚えるよりも、ターゲットとするバージョンのバニラパックから番号を読み取るか、ジェネレーターに任せるのが良いでしょう。

supported_formatsが本当の解決策です

1つの整数に固定すると、次のリリースでパックが壊れてしまいます。範囲指定ならその心配はありません。

{
  "pack": {
    "pack_format": 46,
    "supported_formats": { "min_inclusive": 42, "max_inclusive": 99 },
    "description": "My pack"
  }
}

pack_formatは主要な宣言として残りますが、supported_formatsは警告なしでゲームが受け入れる範囲を広げます。テクスチャやレシピを追加するだけのパック(ほとんどのパックがこれに該当します)の場合、バージョン間で実際に壊れるものがないため、広い範囲を指定することは理にかなっています。

descriptionはテキストコンポーネントを受け入れます

"description": [
  { "text": "My pack ", "color": "gold" },
  { "text": "v2", "color": "gray", "italic": true }
]

セクション記号コード(§6)も引き続き機能しますが、JSON形式は制御文字を削除するツールを介したコピー&ペーストでも機能します。

オーバーレイ:複数のバージョンを同時にサポートする

"overlays": { "entries": [
  { "formats": { "min_inclusive": 42, "max_inclusive": 45 }, "directory": "older" }
] }

パックのルートにあるolder/フォルダは、これらのフォーマットでのみ使用されます。これにより、異なるモデルフォーマットを持つ2つのバージョンを、2つのzipファイルを出荷する代わりに、1つのダウンロードでサポートできます。

簡単な診断

症状原因
グレー表示され、「古い/新しいバージョン用に作成されました」と表示される間違ったpack_format
パックがまったくリストに表示されないpack.mcmetaがzipルートにない、またはJSONが無効
ロードされるが、テクスチャが欠落しているパックフォーマットは問題ないが、テクスチャのパスが間違っている
シングルプレイヤーでは動作するが、サーバーでは動作しないデータパックが間違ったワールドフォルダにある

末尾のカンマは無効なJSONであり、「まったくリストに表示されない」ケースを引き起こし、エラーメッセージは表示されません。

pack.mcmeta Generatorを使用して、パックの種類とターゲットバージョンに合った有効なファイルを生成してください(supported_formatsが入力されます)。

pack.mcmeta ジェネレーター →

More guides

Browse all →

ほかのマインクラフトツールをお探しですか?

ブラウザだけで動くジェネレーター・ビューア・変換ツールの数々。すべて無料です。