Z czego składa się świat Java
Wszystkie poniższe pliki można otworzyć w edytorze powyżej. Same pliki regionów (.mca) są kontenerami wielu skompresowanych chunków, a nie pojedynczymi dokumentami NBT. Najpierw wyodrębnij więc dane chunka — edytor odczyta otrzymane w ten sposób NBT skompresowane algorytmem zlib.
| Ścieżka | Zawartość | Kompresja |
world/level.dat | Nazwa świata, tryb gry, reguły, spawn, DataVersion | gzip |
world/level.dat_old | Poprzedni zapis tego samego pliku | gzip |
world/playerdata/<uuid>.dat | Ekwipunek, skrzynia Endu, pozycja, zdrowie, XP, atrybuty | gzip |
world/data/raids.dat, idcounts.dat, map_*.dat | Stan najazdów, liczniki identyfikatorów bytów, mapy | gzip |
world/data/scoreboard.dat | Cele, drużyny, wyniki | gzip |
world/region/*.mca | NBT chunka w kontenerze regionu | zlib dla każdego chunka |
servers.dat | Lista serwerów wieloosobowych z klienta | brak |
hotbar.nbt | Zapisane paski szybkiego dostępu z trybu kreatywnego | brak |
*.nbt w datapackach | Struktury umieszczane przez bloki struktur i bloki układanki | gzip |
Paper, Spigot, Fabric, Forge — te same pliki
Forki i programy ładujące mody zmieniają sposób działania serwera, ale nie sposób zapisu świata. Paper, Purpur, Pufferfish, Folia, Fabric, Quilt, Forge, NeoForge, Mohist, Arclight i Sponge korzystają ze struktury NBT Vanilla, dlatego wszystkie informacje na tej stronie dotyczą ich bez zmian. Forki dodają jedynie dodatkowe pliki obok świata — paper-world.yml i konfiguracje modów — zapisane jako YAML lub TOML i niezwiązane z NBT.
Mody i pluginy mogą dodawać własne tagi złożone wewnątrz level.dat lub playerdata. Otwierają się one tutaj tak jak pozostałe tagi; nie zmieniaj ich, jeśli nie wiesz, jak korzysta z nich dany mod.
DataVersion i migracja wersji
Światy Java zawierają liczbę całkowitą DataVersion, która identyfikuje format świata i zwiększa się z każdą wersją testową. Przydatne wartości odniesienia: 1.16.5 to 2586, 1.17.1 to 2730, 1.18.2 to 2975, 1.19.4 to 3337, 1.20.4 to 3700, a 1.21 to 3953. Właśnie ten tag sprawia, że klient starszy niż wersja, która zapisała świat, odmawia jego otwarcia. Ręczne obniżenie wartości nie konwertuje danych chunków do starszej wersji, a jedynie usuwa zabezpieczenie. Odczytaj tag, aby ustalić, która wersja zapisała świat; nie edytuj go w celu wymuszenia przejścia na starszą wersję.