Poradniki / Budowanie i zasoby
Trzy ścieżki tekstur w paczkach zasobów są płaskie. Ścieżka mobów jest zagnieżdżona, a to dopiero początek
Przedmioty, bloki i obrazy to jeden plik głęboko. Moby mieszkają w folderze nazwanym od siebie — a dla większości mobów ten folder zawiera kilka plików, więc nadpisanie jednego pliku po cichu coś pomija.
Nadpisanie tekstury w paczce zasobów oznacza umieszczenie pliku PNG pod dokładnie tą ścieżką, w której szuka go gra. Dla trzech z czterech typowych rodzajów ta ścieżka jest całkowicie regularna. Dla czwartego już nie, a ta nieregularność jest gorsza, niż się na pierwszy rzut oka wydaje.
Cztery ścieżki
assets/minecraft/textures/item/<name>.png
assets/minecraft/textures/block/<name>.png
assets/minecraft/textures/painting/<name>.png
assets/minecraft/textures/entity/<name>/<name>.png ← note the folder
Przedmioty, bloki i obrazy to jeden plik we wspólnym katalogu. Mob to własny katalog, nazwany od moba, zawierający plik zwykle również nazwany od moba. Tekstura zombie to więc entity/zombie/zombie.png, a nie entity/zombie.png.
Zwróć też uwagę, że moby znajdują się pod entity/, a nie mob/ — folder nosi nazwę od koncepcji w kodzie, a nie od tej w grze.
Prawdziwy problem polega na tym, że mob często nie jest jednym plikiem
Zagnieżdżenie łatwo zapamiętać, gdy już się je zobaczy. To, co faktycznie psuje nadpisania, to wszystko inne, co znajduje się w tym folderze.
Ścieżka <name>/<name>.png jest poprawna dla tych dziesięciu:
zombie · szkielet · creeper · owca · pająk · enderman · wilk · wiedźma · płomyk · osadnik
Dla sześciu z nich — creepera, szkieletu, pająka, endermana, wiedźmy, płomyka — ten jeden plik to cały mob (świecące oczy i poświata naładowanego creepera to osobne nakładki). Zombie, owca, osadnik i wilk trzymają obok więcej: tekstury młodych, wełnę owcy, profesje i typy biomów osadników, oraz osiem kolejnych wariantów wilka — wolf.png to tylko blady wilk.
Wszystko inne może trzymać swoje tekstury w innym podfolderze albo rozrzucone po kilku plikach — warianty młodych, warianty oswojone, warianty kolorystyczne. Koń to nie jeden obraz. Kot to nie jeden obraz. Zastąpienie jednego pliku w takich przypadkach zmienia jeden stan moba, a resztę pozostawia nietkniętą, co w grze wygląda jak „moja paczka tylko się połowicznie zastosowała".
To jest tryb awarii wart przyswojenia: błędna ścieżka nie pokazuje żadnej zmiany tekstury, ale niekompletny zestaw ścieżek pokazuje zmianę częściową — a drugi przypadek jest znacznie trudniejszy do zdiagnozowania, bo paczka ewidentnie działa.
Priorytet jest od najwyższego, co nie zgadza się z tym, co sugeruje zip
Gdy paczki są scalane, paczka wymieniona jako pierwsza wygrywa konflikty ścieżek. Indeks 0 ma najwyższy priorytet.
Warto to powiedzieć wprost, bo odwraca to model myślowy, który ludzie przynoszą z nakładania plików, gdzie wygrywa to, co zapisane jako ostatnie. Tutaj to pierwsza paczka na liście jest tą, której wersja item/diamond_sword.png przetrwa; wszystko poniżej niej tylko uzupełnia ścieżki, których te powyżej nie zajęły.
Dwa szczegóły dotyczące tożsamości paczki
pack.png to ikona i znajduje się w katalogu głównym zipa, a nie pod assets/. Jest przycinana do kwadratu 64 × 64 — niekwadratowy obraz zostaje przeskalowany, a nie uzupełniony pasami, więc ikona zaprojektowana w 16:9 wyjdzie zniekształcona, a nie z marginesami.
Kody kolorów w nazwie paczki to dosłowny tekst. Znaki § trafiają do pack.mcmeta dokładnie tak, jak zostały wpisane, a Minecraft renderuje je w momencie wyświetlania: §a zielony, §c czerwony, §b turkusowy, §e żółty, §d różowy, §l pogrubienie, §r reset. Nie ma żadnego etapu ucieczki ani komponentu tekstowego JSON — surowy znak sekcji w zwykłym ciągu to cały mechanizm.