MC Toolkit

Poradniki / Rozwiązywanie problemów

pack.mcmeta: numery pack_format i ostrzeżenie o „niekompatybilności"

Jedno błędne pole i Minecraft wyszarza twój pack. Oto jak wygląda struktura wymagana przez 26.x, jak obsłużyć stare i nowe wersje w jednym pliku oraz gdzie ten plik musi się znajdować.

Niemal każde „mój pack jest niekompatybilny" to jedno pole w jednym małym pliku.

Plik

{
  "pack": {
    "min_format": 97,
    "max_format": 97,
    "description": "My pack"
  }
}

To resource pack dla 26.3; data pack dla 26.3 używa 121. Od wersji 1.21.9 każdy format powyżej 64 (resource pack) lub 81 (data pack) musi być zadeklarowany za pomocą min_format i max_format. Pack, który nadal zapisuje samo "pack_format": 97 — co pokazuje większość poradników i większość generatorów — jest odrzucany i wyświetla się jako niekompatybilny.

Plik musi nazywać się dokładnie pack.mcmeta i znajdować się w katalogu głównym zipa — obok assets/ lub data/, a nie w folderze wewnątrz zipa. Spakowanie folderu nadrzędnego zamiast jego zawartości to druga najczęstsza przyczyna błędu i wygląda identycznie jak zły numer formatu.

Resource packi i data packi używają różnych numerów

To jest część, która zaskakuje ludzi: te dwa liczniki rozeszły się lata temu i nie są wymienne. Data pack używający numeru resource packa jest wyszarzony, mimo że numer jest „aktualny".

Zamiast zapamiętywać tabelę, która dezaktualizuje się przy każdym wydaniu, odczytaj numer z vanilla packa dla wersji, którą chcesz obsłużyć — albo pozwól generatorowi go uzupełnić.

Jeden plik dla starych i nowych wersji

Przypięcie jednego numeru oznacza, że pack zepsuje się przy następnym wydaniu. Zakres nie — ale zakres sięgający do 26.x musi być zapisany dla dwóch generacji gry jednocześnie:

{
  "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 to zakres, który czyta 26.x. pack_format i supported_formats są tam tylko dla klientów starszych niż 1.21.9: supported_formats musi kończyć się dokładnie na 64 (81 dla data packa), min_format musi być równe jego dolnemu końcowi, a pack_format musi się w nim mieścić. Stara rada — supported_formats aż do jakiejś dużej liczby, np. 99 — to teraz jedyna struktura, którą 26.x kategorycznie odrzuca. Dla packa, który tylko dodaje tekstury lub przepisy — czyli dla większości packów — szeroki zakres jest uczciwy, bo nic w nim faktycznie nie psuje się między wersjami.

Opis przyjmuje komponenty tekstowe

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

Kody z znakiem sekcji (§6) nadal działają, ale forma JSON przetrwa kopiowanie i wklejanie przez narzędzia, które usuwają znaki sterujące.

Overlays, czyli obsługa kilku wersji jednocześnie

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

Folder older/ w katalogu głównym packa jest używany tylko w tych formatach. W ten sposób jedno pobranie obsługuje dwie wersje z różnymi formatami modeli, zamiast wysyłać dwa zipy.

Szybka diagnoza

ObjawPrzyczyna
Wyszarzony, „made for an older/newer version"zły numer formatu lub (1.21.9 i późniejsze) brak min_format/max_format
Pack w ogóle nie jest na liściepack.mcmeta nie w katalogu głównym zipa lub nieprawidłowy JSON
Ładuje się, brakuje teksturformat packa w porządku; ścieżki do tekstur są złe
Działa w trybie singleplayer, nie na serwerzedata pack w złym folderze świata

Przecinek na końcu to nieprawidłowy JSON i powoduje przypadek „w ogóle nie jest na liście", a nie komunikat błędu.

Wygeneruj prawidłowy plik dla swojego typu packa i docelowej wersji — z min_format/max_format oraz polami legacy, tam gdzie wymaga ich starsza wersja — korzystając z pack.mcmeta Generator.

Generator pack.mcmeta →

Więcej poradników

Zobacz wszystkie →