Cum devine un glyph fundal de meniu
Un meniu de cufăr își scrie titlul în colțul din stânga sus, iar titlul poate conține caractere din resource packul serverului. Un glyph e un astfel de caracter, desenat din PNG-ul tău. Pune un glyph mare în titlu și clientul îl pictează peste tot ecranul cufărului.
Două valori îl poziționează. Un shift negativ mută cursorul spre stânga înainte de glyph, ca poza să înceapă la marginea cufărului și nu la indentarea titlului. Ascent-ul glyphului îl mută pe verticală până acoperă meniul. Sloturile rămân sloturi reale: acolo unde poza arată un buton, meniul are un slot gol cu material: air care rulează totuși acțiuni la clic.
Dacă folosești ItemsAdder, citește varianta pentru ItemsAdder a acestui ghid. Ideea e aceeași, diferă doar configul și numele placeholderelor.
De ce ai nevoie
- DeluxeMenus și PlaceholderAPI pe server. DeluxeMenus procesează placeholderele PlaceholderAPI din
menu_title. - Nexo sau Oraxen, care construiesc resource packul și oferă placeholderele de glyph și de shift.
- Pentru Oraxen: glyphurile în titlurile de inventar merg nativ pe Paper 1.21.2 sau mai nou. Serverele mai vechi au nevoie de PacketEvents, conform documentației Oraxen.
- Un PNG de fundal de cel mult 256×256 pixeli. Texturile mai mari nu sunt permise pentru un singur glyph.
Pasul 1: Creează fundalul
Construiește meniul în generatorul de GUI: alege rândurile, un preset sau o temă și desenează butoane mari peste mai multe sloturi. La export alege Nexo sau Oraxen, setează un namespace (de exemplu mymenus) și un nume de meniu (de exemplu shop).
PNG-ul are 256 de pixeli lățime și între 164 de pixeli (un rând) și 254 de pixeli (șase rânduri) înălțime. Marginea din jurul cufărului le dă ramelor loc să iasă din conturul normal al meniului.
Pasul 2a: Configul de glyph pentru Nexo
Nexo citește glyphurile din orice fișier YAML din folderul lui de glyphuri. Textura se scrie ca namespace:path, aici PNG-ul de la plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heighte înălțimea desenată. Folosește înălțimea reală în pixeli a PNG-ului.ascentmută glyphul în sus. Nexo spune că height nu are voie să fie niciodată mai mic decât ascent.- Placeholderele sunt
%nexo_gui_shop%pentru glyph și%nexo_shift_<pixels>%pentru spațiu, care poate fi negativ.
Pasul 2b: Configul de glyph pentru Oraxen
Oraxen citește glyphurile din plugins/Oraxen/glyphs/. Calea texturii e relativă la pack/textures/, așa că PNG-ul merge în plugins/Oraxen/pack/textures/gui/shop.png:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen cere ca
heightsă fie mai mare sau egal cuascent; Minecraft impune asta. - Placeholderul glyphului e
%oraxen_gui_shop%. Shifturile au două placeholdere:%oraxen_shift_<pixels>%mută la dreapta,%oraxen_neg_shift_<pixels>%mută la stânga. Fiecare suportă până la 2047 de pixeli. - Există o cheie
charca să alegi singur caracterul, dar e opțională.
Pasul 4: Înregistrează meniul și dă reload
gui_menus:
shop:
file: shop.yml- Refă packul:
/nexo reload(sau/nexo reload pack) pentru Nexo,/oraxen reload allpentru Oraxen. - Rulează
/dm reloadși testează cu/dm open shop. - Repornește serverul o dată. DeluxeMenus înregistrează
/shopdinregister_command: truedoar la pornire. - Intră din nou ca să primești noul resource pack.
Erori frecvente și soluții
| Ce vezi | Cauză și soluție |
|---|---|
%nexo_gui_shop% sau %oraxen_gui_shop% ca text | Lipsește PlaceholderAPI sau ID-ul glyphului din placeholder nu se potrivește cu cheia din fișierul de glyph. |
| O căsuță goală sau un simbol greșit | Packul nu a fost refăcut sau jucătorul are packul vechi. Dă reload la plugin și intră din nou. |
| Glyphul Oraxen lipsește doar în titlurile meniurilor | Serverul e mai vechi de Paper 1.21.2 și PacketEvents nu e instalat. |
| Poza e decalată | Shiftul sau ascent-ul nu se potrivesc cu PNG-ul. Exportă din nou din același design. |
| Poza e mai închisă decât PNG-ul | Lipsește &f înaintea primului placeholder. |
| Glyphul e respins la încărcare | ascent e mai mare decât height sau PNG-ul e mai mare de 256×256. |
/shop nu face nimic | Meniul nu e în config.yml sau serverul nu a fost repornit după ce l-ai adăugat. |