Poradniki / Budowanie i zasoby
Ukrywanie i zmiana rozmiaru elementów HUD za pomocą paczki zasobów
Pasek szybkiego dostępu, celownik i pasek doświadczenia znajdują się w jednym atlasie tekstur. Oto jak sprawić, by część z nich była niewidoczna, czego nie da się przesunąć oraz sztuczka z czcionką dla własnego tekstu HUD.
Nie ma żadnej konfiguracji do ukrywania paska szybkiego dostępu. Jest za to tekstura — a uczynienie jej części przezroczystą usuwa ją wizualnie, podczas gdy wszystko dalej działa.
Wszystko jest w jednym folderze
assets/minecraft/textures/gui/sprites/hud/
Nowoczesne wersje dzielą dawny atlas widgets.png na pojedyncze sprite'y: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png i tak dalej. Zastąpienie któregokolwiek z nich w pełni przezroczystym PNG o tych samych wymiarach ukrywa go.
Te same wymiary mają znaczenie dla wszystkiego, co rysujesz. Sprite'y domyślnie rozciągają się, by wypełnić swoje miejsce, więc mniejszy obszar roboczy z widoczną grafiką wychodzi rozmazany. W pełni przezroczysty sprite ukrywa się przy każdym rozmiarze — nie ma czego rozmazywać.
Co możesz, a czego nie możesz zrobić
Możesz:
- ukryć dowolny element, czyniąc jego sprite przezroczystym
- zmienić styl wszystkiego — inne serca, minimalistyczny celownik, tematyczny pasek szybkiego dostępu
- zmienić pozorny rozmiar, rysując mniejszą zawartość w obszarze roboczym o tym samym rozmiarze
Nie możesz:
- przesunąć elementu. Pozycje są zaszyte na stałe; tylko grafika jest danymi.
- ukryć slotów paska szybkiego dostępu niezależnie od ramki — to jeden sprite.
- zmienić tego, co robi slot. To wyłącznie kosmetyka, a przedmiot nadal można wybrać.
Ten ostatni punkt warto powiedzieć wprost: ukryty pasek szybkiego dostępu to nadal pasek szybkiego dostępu. To nie ograniczenie ekwipunku i gracz nadal może korzystać ze slotów.
Pułapka dziewięcioczęściowego skalowania
Niektóre sprite'y GUI są dziewięcioczęściowe (nine-sliced) — narożniki stałe, krawędzie rozciągane. W HUD to tylko tło paska lokalizatora; większość przycisków i pól w gui/sprites/ już takie jest. Plik .mcmeta obok PNG deklaruje obramowania:
{ "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 powoduje nieprawidłowe rozciągnięcie. W razie wątpliwości skopiuj vanilla'owy .mcmeta obok swojego PNG.
Własny tekst HUD za pomocą czcionek
Naprawdę potężna sztuczka: zdefiniuj dostawcę czcionki, którego glify są obrazami, a następnie wyświetl te znaki za pomocą /title lub bossbara. Tekst renderuje się jako twoja grafika.
assets/minecraft/font/default.json
Umieść to w przestrzeni nazw minecraft, a twoi dostawcy zostaną scaleni z domyślną czcionką vanilla. Jeśli zachowasz własną przestrzeń nazw, każdy komponent tekstowy, który jej używa, musi to zadeklarować, za pomocą "font":"my_pack:default".
{ "providers": [
{ "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
"chars": [""] }
] }
Używaj prywatnych punktów kodowych ( i wyżej), 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ą własne paski zdrowia, ikony walut i mierniki postępu bez moda po stronie klienta — tylko za pomocą paczki zasobów.
Czcionki z ujemną przestrzenią
Zdefiniuj glif z ujemną wartością advances, a możesz przesuwać kursor do tyłu, nakładając obrazy jeden na drugim. To technika stojąca za serwerowymi HUD-ami, które wyglądają jak prawdziwe interfejsy. Jest to żmudne i to jedyny sposób, by cokolwiek pozycjonować.
Ukrywaj lub zmieniaj styl elementów HUD i buduj dostawców czcionek z punktami kodowymi przydzielonymi dla ciebie w HUD Customizer & Font Pack Maker.