Ako sa z glyfu stane pozadie menu
Menu v truhlici vypisuje svoj nadpis v ľavom hornom rohu a tento nadpis môže obsahovať znaky zo serverového resource packu. Glyf je presne taký znak, vykreslený z tvojho PNG. Daj do nadpisu veľký glyf a klient ho namaľuje cez celú obrazovku truhlice.
Polohu určujú dve hodnoty. Záporný shift posunie kurzor pred glyfom doľava, takže obrázok začína pri okraji truhlice, a nie pri odsadení nadpisu. Ascent glyfu ho posúva zvislo, kým nezakryje menu. Sloty zostávajú skutočnými slotmi: kde obrázok ukazuje tlačidlo, má menu prázdny slot s material: air, ktorý stále spúšťa akcie po kliknutí.
Ak namiesto toho používaš ItemsAdder, prečítaj si verziu tohto návodu pre ItemsAdder. Myšlienka je rovnaká, líšia sa len konfigurácia a názvy placeholderov.
Čo potrebuješ
- DeluxeMenus a PlaceholderAPI na tvojom serveri. DeluxeMenus spracúva placeholdery PlaceholderAPI v
menu_title. - Nexo alebo Oraxen, ktoré zostavia resource pack a poskytujú placeholdery pre glyfy a posuny.
- Pre Oraxen: glyfy v nadpisoch inventára fungujú natívne na Paperi 1.21.2 alebo novšom. Staršie servery podľa dokumentácie Oraxenu potrebujú PacketEvents.
- PNG s pozadím s veľkosťou najviac 256×256 pixelov. Väčšie textúry pre jeden glyf nie sú povolené.
Krok 1: Navrhni pozadie
Postav menu v GUI Makeri: vyber počet riadkov, predvoľbu alebo tému a nakresli veľké tlačidlá cez viac slotov. V exporte vyber Nexo alebo Oraxen, nastav namespace (napríklad mymenus) a názov menu (napríklad shop).
PNG má šírku 256 pixelov a výšku od 164 pixelov (jeden riadok) po 254 pixelov (šesť riadkov). Okraj okolo truhlice dáva rámom priestor, aby presahovali bežný obrys menu.
Krok 2a: Konfigurácia glyfu v Nexo
Nexo načítava glyfy z akéhokoľvek YAML súboru vo svojom priečinku glyphs. Textúra sa zapisuje ako namespace:path, tu ide o PNG v plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heightje vykreslená výška. Použi skutočnú výšku PNG v pixeloch.ascentposúva glyf nahor. Podľa Nexo nesmie byť height nikdy menšia ako ascent.- Placeholdery sú
%nexo_gui_shop%pre glyf a%nexo_shift_<pixels>%pre medzeru, ktorá môže byť aj záporná.
Krok 2b: Konfigurácia glyfu v Oraxen
Oraxen načítava glyfy z plugins/Oraxen/glyphs/. Cesta k textúre je relatívna k pack/textures/, takže PNG patrí do plugins/Oraxen/pack/textures/gui/shop.png:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen vyžaduje, aby
heightbola väčšia alebo rovnáascent; vynucuje to Minecraft. - Placeholder glyfu je
%oraxen_gui_shop%. Posuny majú dva placeholdery:%oraxen_shift_<pixels>%posúva doprava,%oraxen_neg_shift_<pixels>%doľava. Každý zvládne až 2047 pixelov. - Existuje aj kľúč
char, ktorým si znak vyberieš sám, ale je nepovinný.
Krok 4: Zaregistruj menu a načítaj znova
gui_menus:
shop:
file: shop.yml- Znova zostav pack:
/nexo reload(alebo/nexo reload pack) pre Nexo,/oraxen reload allpre Oraxen. - Spusti
/dm reloada otestuj príkazom/dm open shop. - Server raz reštartuj. DeluxeMenus registruje
/shopzregister_command: truelen pri štarte. - Pripoj sa znova, aby si dostal nový resource pack.
Bežné chyby a ich riešenia
| Čo vidíš | Príčina a riešenie |
|---|---|
%nexo_gui_shop% alebo %oraxen_gui_shop% ako text | Chýba PlaceholderAPI alebo ID glyfu v placeholderi nesedí s kľúčom v súbore glyfu. |
| Prázdny štvorček alebo zlý symbol | Pack sa znova nezostavil alebo má hráč starý pack. Načítaj plugin znova a pripoj sa znova. |
| Glyf Oraxenu chýba len v nadpisoch menu | Server je starší ako Paper 1.21.2 a PacketEvents nie je nainštalovaný. |
| Obrázok je posunutý | Shift alebo ascent nesedí s PNG. Exportuj znova z toho istého návrhu. |
| Obrázok je tmavší ako PNG | Pred prvým placeholderom chýba &f. |
| Glyf je pri načítaní odmietnutý | ascent je vyšší ako height alebo je PNG väčšie ako 256×256. |
/shop nič nerobí | Menu nie je v config.yml alebo sa server po jeho pridaní nereštartoval. |