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
| Objaw | Przyczyna |
|---|---|
| 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ście | pack.mcmeta nie w katalogu głównym zipa lub nieprawidłowy JSON |
| Ładuje się, brakuje tekstur | format packa w porządku; ścieżki do tekstur są złe |
| Działa w trybie singleplayer, nie na serwerze | data 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.