pack.mcmeta: numery pack_format i ostrzeżenie „niekompatybilny”
Jeden błędny numer sprawia, że Minecraft wyszarza Twój pakiet. Oto mapowanie formatu na wersję, zakres supported_formats, który eliminuje problem, oraz miejsce, w którym musi znajdować się plik.
Prawie każdy przypadek „mój pakiet jest niekompatybilny” to jeden numer w jednym małym pliku.
Plik
{
"pack": {
"pack_format": 46,
"description": "My pack"
}
}
Musi być nazwany dokładnie pack.mcmeta i znajdować się w głównym katalogu archiwum zip — obok assets/ lub data/, a nie w folderze wewnątrz archiwum. Spakowanie zawierającego folderu zamiast jego zawartości to drugi najczęstszy błąd, który wygląda identycznie jak błędny numer formatu.
Pakiety zasobów i pakiety danych 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. Pakiet danych używający numeru pakietu zasobów jest wyszarzony, mimo że numer jest „aktualny”.
Zamiast zapamiętywać tabelę, która dezaktualizuje się z każdą nową wersją, odczytaj numer z waniliowego pakietu dla wersji, którą celujesz — lub pozwól generatorowi go uzupełnić.
supported_formats to prawdziwe rozwiązanie
Przypinanie jednej liczby całkowitej oznacza, że pakiet przestanie działać w następnej wersji. Zakres tego nie robi:
{
"pack": {
"pack_format": 46,
"supported_formats": { "min_inclusive": 42, "max_inclusive": 99 },
"description": "My pack"
}
}
pack_format pozostaje główną deklaracją; supported_formats rozszerza to, co gra akceptuje bez ostrzeżenia. Dla pakietu, który dodaje tylko tekstury lub przepisy — czyli większości pakietów — szeroki zakres jest uczciwy, ponieważ 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 ze znakiem sekcji (§6) również nadal działają, ale forma JSON przetrwa kopiowanie i wklejanie przez narzędzia, które usuwają znaki kontrolne.
Nakładki (overlays), do obsługi kilku wersji jednocześnie
"overlays": { "entries": [
{ "formats": { "min_inclusive": 42, "max_inclusive": 45 }, "directory": "older" }
] }
Folder older/ w głównym katalogu pakietu jest używany tylko dla tych formatów. W ten sposób pojedyncze pobranie obsługuje dwie wersje z różnymi formatami modeli, zamiast dostarczać dwa archiwa zip.
Szybka diagnoza
| Objaw | Przyczyna |
|---|---|
| Wyszarzony, „stworzony dla starszej/nowszej wersji” | błędny pack_format |
| Pakiet w ogóle nie jest wymieniony | pack.mcmeta nie znajduje się w głównym katalogu zip, lub nieprawidłowy JSON |
| Ładuje się, brakuje tekstur | format pakietu jest w porządku; ścieżki tekstur są błędne |
| Działa w trybie dla jednego gracza, nie na serwerze | pakiet danych w niewłaściwym folderze świata |
Końcowy przecinek jest nieprawidłowym JSON-em i powoduje przypadek „w ogóle nie jest wymieniony”, a nie komunikat o błędzie.
Wygeneruj prawidłowy plik dla swojego typu pakietu i wersji docelowej — z uzupełnionym supported_formats — używając Generatora pack.mcmeta.