Preskočiť na obsah

Pozadie GUI v DeluxeMenus s Nexo alebo Oraxen

Vlastné obrazovky menu v Minecrafte sú trik: obrázok na pozadí je jediný znak v nadpise menu. Nexo a Oraxen takéto znaky volajú glyfy. Tento návod ukazuje konfiguráciu glyfov pre oba pluginy, shift placeholdery, ktoré obrázok posunú na miesto, a ako všetko prepojiť s DeluxeMenus.

Aktualizované:

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:

plugins/Nexo/glyphs/gui_shop.yml
gui_shop:
  texture: mymenus:gui/shop
  ascent: 45
  height: 254
  • height je vykreslená výška. Použi skutočnú výšku PNG v pixeloch.
  • ascent posú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:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • Oraxen vyžaduje, aby height bola 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 3: Nadpis menu v DeluxeMenus

Nadpis spája farbu, posun doľava, glyf, posun späť a text nadpisu. Pre 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'

Pre Oraxen sa mení len nadpis, pretože posuny doľava majú vlastný placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. &f zachová obrázok v jeho vlastných farbách, namiesto toho, aby ho zafarbil farbou nadpisu.
  2. Prvý posun presunie kurzor o 48 pixelov doľava: GUI Maker počíta 8 pixelov za odsadenie nadpisu truhlice plus 40-pixelový okraj svojho plátna.
  3. Druhý posun vráti kurzor späť, aby &8Shop sedel na obrázku. Jeho hodnota závisí od šírky tvojho obrázka; GUI Maker ju vypočíta.

Nexo aj Oraxen majú aj MiniMessage tagy ako <glyph:gui_shop> a <shift:-48>. GUI Maker píše tvar %…%, pretože DeluxeMenus pre menu_title dokumentuje placeholdery PlaceholderAPI.

Krok 4: Zaregistruj menu a načítaj znova

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Znova zostav pack: /nexo reload (alebo /nexo reload pack) pre Nexo, /oraxen reload all pre Oraxen.
  2. Spusti /dm reload a otestuj príkazom /dm open shop.
  3. Server raz reštartuj. DeluxeMenus registruje /shop z register_command: true len pri štarte.
  4. 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 textChýba PlaceholderAPI alebo ID glyfu v placeholderi nesedí s kľúčom v súbore glyfu.
Prázdny štvorček alebo zlý symbolPack sa znova nezostavil alebo má hráč starý pack. Načítaj plugin znova a pripoj sa znova.
Glyf Oraxenu chýba len v nadpisoch menuServer 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 PNGPred 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.

Často kladené otázky

Líši sa nastavenie pre Nexo a Oraxen?

Len v detailoch. Nexo píše textúru ako namespace:path a používa %nexo_shift_N% so zápornými číslami. Oraxen berie cestu relatívnu k pack/textures/ a na posun doľava má %oraxen_neg_shift_N%.

Prečo sa môj glyf v nadpise DeluxeMenus nezobrazuje?

Zvyčajne sa placeholder nenahrádza (chýba PlaceholderAPI alebo je zlé ID glyfu), resource pack sa znova nezostavil alebo hráč nový pack nenačítal. S Oraxenom na serveroch starších ako Paper 1.21.2 treba pre nadpisy PacketEvents.

Aký príkaz na opätovné načítanie potrebujem?

Pre Nexo /nexo reload, ktorý načíta všetko, alebo /nexo reload pack len pre pack. Pre Oraxen /oraxen reload all. Potom /dm reload pre súbor menu.

Môžem použiť textúru väčšiu ako 256×256 pixelov?

Ako jeden glyf nie. Minecraft obmedzuje glyfy na 256×256 pixelov. Pozadie menu z GUI Makera zostáva v tomto limite pri každom počte riadkov.

Zdroje

Overené podľa oficiálnej dokumentácie: