pack.mcmeta:pack_format の数値と「互換性なし」警告
フィールドをひとつ間違えるだけで、Minecraft はあなたのパックをグレーアウトさせてしまいます。ここでは 26.x が要求する形式、ひとつのファイルで新旧バージョンに対応する方法、そしてファイルを置くべき場所を解説します。
「自分のパックが互換性なしと表示される」というケースのほとんどは、小さなファイルの中のひとつのフィールドが原因です。
ファイル
{
"pack": {
"min_format": 97,
"max_format": 97,
"description": "My pack"
}
}
これは 26.3 のリソースパックです。26.3 のデータパックでは 121 を使います。1.21.9 以降、64(リソース)または 81(データ)を超えるフォーマットは min_format と max_format で宣言しなければなりません。依然として裸の "pack_format": 97 を書いているパック——ほとんどのチュートリアルやほとんどのジェネレーターが今もそう表示しています——は拒否され、互換性なしと表示されます。
ファイル名は正確に pack.mcmeta でなければならず、zip のルート——assets/ や data/ の隣——に置く必要があります。zip 内のフォルダの中ではありません。中身ではなく、それを含むフォルダごと zip にしてしまうのが二番目によくある失敗で、見た目は間違ったフォーマット番号とまったく同じです。
リソースパックとデータパックでは番号が異なる
ここが人を引っかける部分です。このふたつのカウンターは何年も前に分岐しており、互換性はありません。リソースパックの番号を使ったデータパックは、その番号が「最新」であってもグレーアウトされます。
リリースごとに古くなる表を暗記するよりも、対象バージョンのバニラパックから番号を読み取るか、ジェネレーターに埋めてもらいましょう。
新旧バージョンに対応するひとつのファイル
番号をひとつに固定すると、次のリリースでパックが壊れます。範囲指定なら壊れません——ただし 26.x にまで及ぶ範囲は、ゲームの二世代分を同時に書く必要があります:
{
"pack": {
"pack_format": 46,
"supported_formats": { "min_inclusive": 46, "max_inclusive": 64 },
"min_format": 46,
"max_format": 97,
"description": "My pack"
}
}
min_format/max_format は 26.x が読み取る範囲です。pack_format と supported_formats は 1.21.9 より古いクライアント専用です:supported_formats は正確に 64(データパックなら 81)で終わらなければならず、min_format はその下限値と等しくなければならず、pack_format はその中に収まっていなければなりません。昔のアドバイス——supported_formats を 99 のような大きな数値まで——は、今や 26.x が真っ向から拒否する唯一の形式です。テクスチャやレシピを追加するだけのパック——ほとんどのパックがそうです——なら、広い範囲は正直です。なぜならバージョン間で実際に壊れるものは何もないからです。
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/ フォルダは、それらのフォーマットでのみ使用されます。これにより、異なるモデルフォーマットを持つ二つのバージョンを、zip を二つ配布するのではなく、ひとつのダウンロードでサポートできます。
簡単な診断
| 症状 | 原因 |
|---|---|
| グレーアウトし、「古い/新しいバージョン用です」と表示される | フォーマット番号が間違っている、または(1.21.9 以降)min_format/max_format がない |
| パックが一覧にまったく表示されない | pack.mcmeta が zip ルートにない、または JSON が無効 |
| 読み込むがテクスチャが欠けている | パックフォーマットは正常。テクスチャのパスが間違っている |
| シングルプレイヤーでは動くがサーバーでは動かない | データパックが間違ったワールドフォルダにある |
末尾のカンマは無効な JSON であり、「一覧にまったく表示されない」ケースを引き起こします。エラーメッセージは出ません。
あなたのパックの種類と対象バージョンに合った有効なファイルを——min_format/max_format と、古いバージョンが必要とするレガシーフィールドを備えた形で——pack.mcmeta Generator で生成しましょう。