Hogyan lesz egy glyph-ből menüháttér
Egy ládamenü a bal felső sarokba írja a címét, és ez a cím tartalmazhat karaktereket a szerver resource packjéből. A glyph egy ilyen karakter, amit a PNG-dből rajzol a játék. Tegyél egy nagy glyph-et a címbe, és a kliens az egész ládaképernyő fölé festi.
Két érték pozicionálja. Egy negatív shift balra viszi a kurzort a glyph előtt, így a kép a láda szélén kezdődik, nem a cím behúzásánál. A glyph ascent értéke függőlegesen mozgatja, amíg le nem fedi a menüt. A slotok valódi slotok maradnak: ahol a képen gomb látszik, ott a menüben egy üres slot van material: air értékkel, ami ugyanúgy futtat kattintási műveleteket.
Ha inkább ItemsAddert használsz, olvasd el ennek az útmutatónak az ItemsAdder-változatát. Az ötlet ugyanaz, csak a config és a placeholderek neve más.
Amire szükséged van
- DeluxeMenus és PlaceholderAPI a szervereden. A DeluxeMenus feldolgozza a PlaceholderAPI placeholdereket a
menu_titlemezőben. - Nexo vagy Oraxen, ami felépíti a resource packet, és biztosítja a glyph és shift placeholdereket.
- Oraxenhez: a glyphek az inventory címekben Paper 1.21.2-től vagy újabbon natívan működnek. Régebbi szerverekhez az Oraxen dokumentációja szerint PacketEvents kell.
- Egy legfeljebb 256×256 pixeles háttér-PNG. Egyetlen glyph-hez nagyobb textúra nem engedélyezett.
1. lépés: Tervezd meg a hátteret
Építsd meg a menüt a GUI készítőben: válaszd ki a sorokat, egy sablont vagy témát, és rajzolj nagy gombokat több slot fölé. Az exportnál válaszd a Nexo vagy Oraxen lehetőséget, állíts be egy namespace-t (például mymenus) és egy menünevet (például shop).
A PNG 256 pixel széles és 164 pixel (egy sor) és 254 pixel (hat sor) közötti magasságú. A láda körüli margó helyet ad a kereteknek, hogy kilógjanak a menü normál körvonalából.
2a. lépés: Nexo glyph config
A Nexo a glyphs mappájában lévő bármelyik YAML-fájlból beolvassa a glyph-eket. A textúra namespace:path formában szerepel, itt a PNG helye plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254- A
heighta megjelenített magasság. A PNG valódi pixelmagasságát használd. - Az
ascentfelfelé mozgatja a glyph-et. A Nexo szerint a height soha nem lehet kisebb az ascentnél. - A placeholderek:
%nexo_gui_shop%a glyph-hez és%nexo_shift_<pixels>%a helyközhöz, ami negatív is lehet.
2b. lépés: Oraxen glyph config
Az Oraxen a plugins/Oraxen/glyphs/ mappából olvassa a glyph-eket. A textúra útvonala a pack/textures/ mappához képest relatív, így a PNG ide kerül: plugins/Oraxen/pack/textures/gui/shop.png:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Az Oraxen megköveteli, hogy a
heightlegalább akkora legyen, mint azascent; ezt a Minecraft kényszeríti ki. - A glyph placeholdere
%oraxen_gui_shop%. Az eltolásnak két placeholdere van: a%oraxen_shift_<pixels>%jobbra, a%oraxen_neg_shift_<pixels>%balra visz. Mindkettő legfeljebb 2047 pixelt tud. - Létezik egy
charkulcs is, hogy magad válaszd ki a karaktert, de nem kötelező.
4. lépés: Regisztráld a menüt, és töltsd újra
gui_menus:
shop:
file: shop.yml- Építsd újra a packet: Nexónál
/nexo reload(vagy/nexo reload pack), Oraxennél/oraxen reload all. - Futtasd a
/dm reloadparancsot, és tesztelj a/dm open shopparanccsal. - Indítsd újra egyszer a szervert. A DeluxeMenus a
register_command: truealapján csak induláskor regisztrálja a/shopparancsot. - Lépj be újra, hogy megkapd az új resource packet.
Gyakori hibák és javításuk
| Amit látsz | Ok és javítás |
|---|---|
%nexo_gui_shop% vagy %oraxen_gui_shop% szövegként | Hiányzik a PlaceholderAPI, vagy a placeholderben lévő glyph ID nem egyezik a glyph-fájl kulcsával. |
| Üres doboz vagy rossz szimbólum | A packet nem építették újra, vagy a játékosnál a régi pack van. Töltsd újra a plugint, és lépj be újra. |
| Az Oraxen glyph csak a menücímekben hiányzik | A szerver régebbi a Paper 1.21.2-nél, és nincs telepítve a PacketEvents. |
| A kép el van csúszva | A shift vagy az ascent nem illik a PNG-hez. Exportáld újra ugyanabból a dizájnból. |
| A kép sötétebb, mint a PNG | Hiányzik a &f az első placeholder elől. |
| A glyph-et betöltéskor elutasítja | Az ascent nagyobb a height értéknél, vagy a PNG nagyobb 256×256-nál. |
A /shop nem csinál semmit | A menü nincs a config.yml-ben, vagy a szervert nem indították újra a hozzáadása után. |