Ukrywanie i zmiana rozmiaru elementów HUD-a za pomocą pakietu zasobów
Pasek szybkiego dostępu, celownik i pasek PD znajdują się w jednym atlasie tekstur. Oto jak sprawić, by jego części były niewidoczne, czego nie można przesunąć, oraz sztuczka z czcionkami dla niestandardowego tekstu HUD-a.
Nie ma konfiguracji do ukrywania paska szybkiego dostępu. Jest za to tekstura — i uczynienie jej części przezroczystą wizualnie ją usuwa, podczas gdy wszystko nadal działa.
Wszystko w jednym pliku
assets/minecraft/textures/gui/sprites/hud/
Nowoczesne wersje dzielą stary atlas widgets.png na pojedyncze sprite'y: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png i tak dalej. Zastąpienie dowolnego z nich w pełni przezroczystym plikiem PNG o tych samych wymiarach ukrywa go.
Te same wymiary mają znaczenie. Przezroczysty plik PNG o wymiarach 1×1 tam, gdzie spodziewano się paska szybkiego dostępu o wymiarach 182×22, rozciąga się zamiast znikać, tworząc rozmazany pasek.
Co można, a czego nie można zrobić
Można:
- ukryć dowolny element, czyniąc jego sprite przezroczystym
- zmienić styl wszystkiego — inne serca, minimalistyczny celownik, tematyczny pasek szybkiego dostępu
- zmienić widoczny rozmiar, rysując mniejszą zawartość w ramach płótna o tych samych wymiarach
Nie można:
- przesunąć elementu. Pozycje są zakodowane na stałe; tylko grafika jest danymi.
- ukryć slotów paska szybkiego dostępu niezależnie od ramki — są one jednym sprite'em.
- zmienić funkcji slotu. Jest to tylko kosmetyka, a przedmiot nadal jest możliwy do wybrania.
Ten ostatni punkt warto jasno podkreślić: ukryty pasek szybkiego dostępu to nadal pasek szybkiego dostępu. Nie jest to ograniczenie ekwipunku, a Gracz nadal może używać slotów.
Pułapka dziewięciu wycinków
Kilka sprite'ów HUD-a jest dziewięciowycinkowych (nine-sliced) — rogi są stałe, krawędzie rozciągnięte. Plik .mcmeta obok PNG deklaruje granice:
{ "gui": { "scaling": { "type": "nine_slice", "width": 200, "height": 20,
"border": { "left": 2, "top": 2, "right": 2, "bottom": 2 } } } }
Zastąpienie takiego sprite'a bez dopasowania mcmeta spowoduje jego nieprawidłowe rozciągnięcie. W razie wątpliwości skopiuj waniliowy plik .mcmeta obok swojego PNG.
Niestandardowy tekst HUD-a za pomocą czcionek
Naprawdę potężna sztuczka: zdefiniuj dostawcę czcionek, którego glify są obrazami, a następnie wydrukuj te znaki za pomocą /title lub paska bossa. Tekst renderuje się jako Twoja grafika.
assets/<namespace>/font/default.json
{ "providers": [
{ "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
"chars": [""] }
] }
Użyj prywatnych punktów kodowych (od wzwyż), aby nic nie kolidowało z prawdziwym tekstem. Następnie /title @a actionbar {"text":""} rysuje Twój obraz na pasku akcji.
W ten sposób serwery pokazują niestandardowe paski zdrowia, ikony walut i wskaźniki postępu bez żadnych modyfikacji po stronie klienta — tylko za pomocą pakietu zasobów.
Czcionki z ujemnym odstępem
Zdefiniuj glif z ujemnym advances, a możesz przesuwać kursor do tyłu, nakładając obrazy jeden na drugi. To technika stojąca za HUD-ami serwerów, które wyglądają jak prawdziwe interfejsy. Jest to skomplikowane i jest to jedyny sposób na pozycjonowanie czegokolwiek.
Ukryj lub zmień styl elementów HUD-a i zbuduj dostawców czcionek z punktami kodowymi przydzielonymi dla Ciebie w HUD Customizer & Font Pack Maker.