Niestandardowe obrazy i płyty wymagają dwóch paczek, a brak jednej z nich to najczęstsza przyczyna problemów
Datapack rejestruje zawartość; resource pack dostarcza tekstury i dźwięk. Sam datapack zarejestruje zawartość, ale nie będzie nic do pokazania. Plus limit 4×4 i dlaczego długość płyty nie jest tylko kwestią estetyki.
Obrazy i płyty muzyczne to w nowoczesnej Javie prawdziwe rejestry, co oznacza, że możesz je dodawać, a nie zastępować te waniliowe. Nic, co dodasz, nie wyprze istniejącego Obrazu ani płyty.
Problem polega na tym, że zawartość jest podzielona na dwa różne typy paczek, a każda z nich jest bezużyteczna sama.
Co gdzie trafia
Datapack rejestruje element:
data/<ns>/painting_variant/<id>.json asset_id, width, height, title, author
data/<ns>/jukebox_song/<id>.json sound_event, description, length, comparator
Resource pack dostarcza to, co widzisz i słyszysz:
assets/<ns>/textures/painting/<id>.png
assets/<ns>/sounds/<id>.ogg
assets/<ns>/sounds.json
Zainstaluj tylko datapack, a zawartość zostanie pomyślnie zarejestrowana — istnieje, /give ją znajduje, ale po prostu nie ma tekstury ani dźwięku. Jest to znacznie bardziej mylący wynik niż jawna awaria i jest to zwykły powód, dla którego niestandardowy Obraz „nie zadziałał”. Narzędzie na tej stronie dostarcza oba w jednym pliku ZIP, specjalnie po to, aby nie można ich było rozdzielić.
Zwróć uwagę na dwa pliki pack.mcmeta. Są to oddzielne paczki z oddzielnymi tożsamościami; nie ma połączonego formatu, który zawierałby oba.
Identyfikatory rejestru są bardziej restrykcyjne niż nazwy plików
Identyfikator może zawierać tylko a-z, 0-9, _, . i -. Wszystko inne spowoduje niepowodzenie ładowania paczki — nie tylko jednego uszkodzonego wpisu, ale całej paczki. Wielkie litery i spacje to dwie rzeczy, które często sprawiają ludziom problemy, ponieważ obie są całkowicie normalne w nazwie pliku, który przeciągnąłeś.
Obrazy: od 1×1 do 4×4
Waniliowe rozmiary wahają się od 1 × 1 do 4 × 4 bloków, co daje szesnaście możliwych kształtów. Wariant poza tym zakresem nadal będzie renderowany — gra go nie odrzuci — ale nie można go zawiesić na ścianie o rozmiarze, jakiego oczekują gracze, więc jest on faktycznie niemożliwy do umieszczenia w normalnej konstrukcji.
Rozmiar jest deklarowany w JSON jako width i height, w blokach. Nie jest on wywnioskowany z pliku PNG, więc Obraz 3 × 1, którego tekstura jest kwadratowa, jest prawidłowym plikiem, który wyświetla się rozciągnięty.
Długość płyty to nie tylko etykieta
length_in_seconds wpływa na dwie rzeczy: synchronizację Szafy grającej i rampa komparatora — sygnał, który komparator odczytuje z grającej Szafy grającej, rośnie wraz z zadeklarowanym czasem trwania utworu.
Niedokładna długość nie jest więc błędem kosmetycznym. Zadeklaruj 200-sekundowy utwór jako 100, a komparator zakończy swoją rampę w połowie, co po cichu zepsuje każdy redstone powiązany z zakończeniem płyty. To narzędzie odczytuje rzeczywisty czas trwania z pliku, zamiast prosić o jego wpisanie, właśnie z tego powodu.
Utwory są również zapisywane z "stream": true w sounds.json. Muzyka jest długa, a ładowanie całego utworu do pamięci przed odtworzeniem powoduje zacięcia — strumieniowanie jest właściwym domyślnym rozwiązaniem dla wszystkiego o długości płyty i niewłaściwym dla krótkiego efektu dźwiękowego.