Cum funcționează un GUI texturat
Un meniu de cufăr își arată titlul în colțul din stânga sus. Titlul e text, iar textul poate conține caractere din resource packul serverului. ItemsAdder poate transforma orice PNG într-un astfel de caracter, numit font image (imagine de font). Pune o imagine de font mare în titlu și clientul o desenează peste ecranul cufărului.
Mai sunt două piese care le aliniază. Un offset negativ mută cursorul spre stânga înainte de imagine, ca poza să înceapă la marginea stângă a cufărului, nu după indentarea titlului. y_position al imaginii de font o mută în sus sau în jos până acoperă tot meniul.
Sloturile rămân sloturi normale. Acolo unde poza ta arată un buton, meniul are un slot gol pe care se poate da clic, cu material: air și propriile acțiuni la clic.
De ce ai nevoie
- DeluxeMenus și PlaceholderAPI pe un server Spigot sau Paper.
- ItemsAdder, care construiește resource packul și oferă placeholderele
%img_…%. - O livrare funcțională a resource packului, ca jucătorii chiar să descarce packul (ItemsAdder oferă self-hosting și alte variante de hosting).
- Un PNG de fundal. Minecraft nu permite glyphuri de font mai mari de 256×256 pixeli, așa că poza trebuie să încapă în asta.
Pasul 1: Fă imaginea de fundal
Creează meniul în generatorul de GUI: alege rândurile, o temă sau un preset și desenează butoane mari peste mai multe sloturi. Alege ItemsAdder la export, introdu namespace-ul (de exemplu mymenus) și numele meniului (de exemplu shop).
PNG-ul exportat are 256 de pixeli lățime. Înălțimea depinde de rânduri, de la 164 de pixeli pentru un rând la 254 de pixeli pentru șase. Spațiul în plus din jurul cufărului lasă ramele și decorațiunile să iasă din conturul normal al meniului.
Pasul 2: Înregistrează imaginea de font în ItemsAdder
Copiază PNG-ul în namespace-ul tău și adaugă o intrare font_images. Iată ce exportă generatorul de GUI pentru un meniu cu șase rânduri:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45Poza propriu-zisă merge în plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
scale_ratioe înălțimea la care e desenată imaginea. Folosește înălțimea reală în pixeli a PNG-ului, ca nimic să nu fie întins.y_positionmută imaginea pe verticală. ItemsAdder cere să fie mai mic sau egal cuscale_ratio, pentru că jocul nu permite mai mult.show_in_gui: falseține fundalul în afara listei de emoji din ItemsAdder.
Pasul 3: Pune imaginea în titlul meniului DeluxeMenus
DeluxeMenus procesează placeholderele PlaceholderAPI din menu_title. ItemsAdder oferă %img_<name>% pentru imagine și %img_offset_<pixels>% pentru spațiu gol, care poate fi negativ.
menu_title: '&f%img_offset_-48%%img_gui_shop%%img_offset_-201%&8Shop'
open_command: 'shop'
register_command: true
size: 54
items:
button_1_buy:
material: air
slots: [10, 11, 19, 20]
priority: 1
click_commands:
- '[openguimenu] shop_buy'&fla început păstrează poza în culorile ei reale. Fără el, imaginea e colorată cu culoarea titlului.%img_offset_-48%mută cursorul 48 de pixeli la stânga înainte de poză. Generatorul de GUI folosește valoarea asta pentru pânza lui: 8 pixeli pentru indentarea titlului cufărului plus marginea de 40 de pixeli pe care o adaugă pe fiecare parte.%img_gui_shop%e fundalul propriu-zis.- Al doilea offset mută cursorul înapoi, ca
&8Shopsă fie scris peste poză, acolo unde stă un titlu. Valoarea lui depinde de lățimea pozei; generatorul de GUI o calculează pentru tine.
Dacă pictezi titlul direct în imagine în generatorul de GUI, titlul se termină după placeholderul fundalului și nu mai există un al doilea offset.
Pasul 4: Înregistrează meniul și refă packul
DeluxeMenus încarcă doar meniurile listate în config.yml:
gui_menus:
shop:
file: shop.yml- Rulează
/iazip, ca ItemsAdder să refacă resource packul cu imaginea nouă. - Rulează
/dm reload. Deschide meniul o dată cu/dm open shopca să-l verifici. register_command: trueînregistrează/shopca o comandă reală, dar doar la pornirea serverului. Repornește serverul o dată după ce adaugi un meniu nou.- Intră din nou, acceptă resource packul și deschide meniul.
Erori frecvente și soluții
| Ce vezi | Cauză și soluție |
|---|---|
Titlul arată %img_gui_shop% ca text | Lipsește PlaceholderAPI sau numele e greșit. Placeholderul folosește numele imaginii de font din config, fără namespace. |
| O căsuță goală sau un simbol greșit în loc de poză | Packul nu a fost refăcut sau jucătorul are un pack vechi. Rulează /iazip și intră din nou. |
| Unii jucători nu văd deloc poza | Au refuzat resource packul serverului. Verifică hostingul packului și setările serverului din client. |
| Poza e decalată | Primul offset sau y_position nu se potrivește cu marginile PNG-ului. Exportă din nou în loc să ghicești numere. |
| Poza e gri sau mai închisă | Lipsește &f în fața imaginii. |
/shop e o comandă necunoscută | Serverul nu a fost repornit după ce ai adăugat meniul sau meniul lipsește din config.yml. |
| ItemsAdder refuză imaginea de font | y_position e mai mare decât scale_ratio sau imaginea e mai mare de 256×256. |