Sari la conținut

Fundal de GUI în DeluxeMenus cu Nexo sau Oraxen

Ecranele de meniu personalizate din Minecraft sunt un truc: imaginea de fundal e un singur caracter în titlul meniului. Nexo și Oraxen numesc aceste caractere glyphuri. Ghidul ăsta îți arată configul de glyph pentru ambele pluginuri, placeholderele de shift care mută poza la locul ei și cum legi totul cu DeluxeMenus.

Actualizat:

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:

plugins/Nexo/glyphs/gui_shop.yml
gui_shop:
  texture: mymenus:gui/shop
  ascent: 45
  height: 254
  • height e înălțimea desenată. Folosește înălțimea reală în pixeli a PNG-ului.
  • ascent mută 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:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • Oraxen cere ca height să fie mai mare sau egal cu ascent; 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 char ca să alegi singur caracterul, dar e opțională.

Pasul 3: Titlul meniului DeluxeMenus

Titlul combină culoarea, un shift spre stânga, glyphul, un shift înapoi și textul titlului. Pentru Nexo:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%nexo_shift_-48%%nexo_gui_shop%%nexo_shift_-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'

Pentru Oraxen se schimbă doar titlul, pentru că shifturile spre stânga au propriul placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. &f păstrează poza în culorile ei, în loc s-o coloreze cu culoarea titlului.
  2. Primul shift mută cursorul 48 de pixeli la stânga: generatorul de GUI numără 8 pixeli pentru indentarea titlului cufărului plus marginea de 40 de pixeli a pânzei lui.
  3. Al doilea shift aduce cursorul înapoi, ca &8Shop să stea pe poză. Valoarea lui depinde de lățimea pozei; generatorul de GUI o calculează.

Nexo și Oraxen au și taguri MiniMessage ca <glyph:gui_shop> și <shift:-48>. Generatorul de GUI scrie forma %…%, pentru că DeluxeMenus documentează placeholderele PlaceholderAPI pentru menu_title.

Pasul 4: Înregistrează meniul și dă reload

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Refă packul: /nexo reload (sau /nexo reload pack) pentru Nexo, /oraxen reload all pentru Oraxen.
  2. Rulează /dm reload și testează cu /dm open shop.
  3. Repornește serverul o dată. DeluxeMenus înregistrează /shop din register_command: true doar la pornire.
  4. Intră din nou ca să primești noul resource pack.

Erori frecvente și soluții

Ce veziCauză și soluție
%nexo_gui_shop% sau %oraxen_gui_shop% ca textLipseș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șitPackul 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 meniurilorServerul 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-ulLipsește &f înaintea primului placeholder.
Glyphul e respins la încărcareascent e mai mare decât height sau PNG-ul e mai mare de 256×256.
/shop nu face nimicMeniul nu e în config.yml sau serverul nu a fost repornit după ce l-ai adăugat.

Întrebări frecvente

Diferă configurarea pentru Nexo și Oraxen?

Doar la detalii. Nexo scrie textura ca namespace:path și folosește %nexo_shift_N% cu numere negative. Oraxen primește o cale relativă la pack/textures/ și are %oraxen_neg_shift_N% pentru mutarea la stânga.

De ce nu apare glyphul meu în titlul din DeluxeMenus?

De obicei placeholderul nu e înlocuit (lipsește PlaceholderAPI sau ID-ul glyphului e greșit), resource packul nu a fost refăcut sau jucătorul nu a încărcat noul pack. Cu Oraxen pe servere mai vechi de Paper 1.21.2, e nevoie de PacketEvents pentru titluri.

Ce comandă de reload îmi trebuie?

Pentru Nexo /nexo reload, care reîncarcă tot, sau /nexo reload pack doar pentru pack. Pentru Oraxen /oraxen reload all. Apoi /dm reload pentru fișierul meniului.

Pot folosi o textură mai mare de 256×256 pixeli?

Nu ca un singur glyph. Minecraft limitează glyphurile la 256×256 pixeli. Un fundal de meniu din generatorul de GUI rămâne în această limită pentru orice număr de rânduri.

Surse

Verificat după documentația oficială: