Přeskočit na obsah

Pozadí GUI v DeluxeMenus s Nexo nebo Oraxenem

Vlastní obrazovky menu v Minecraftu jsou trik: obrázek na pozadí je jediný znak v nadpisu menu. Nexo a Oraxen těmto znakům říkají glyphy. Tento návod ukazuje config glyphu pro oba pluginy, shift placeholdery, které obrázek posunou na místo, a jak vše propojit s DeluxeMenus.

Aktualizováno:

Jak se z glyphu stane pozadí menu

Menu v truhle vypisuje svůj nadpis v levém horním rohu a tento nadpis může obsahovat znaky z resource packu serveru. Glyph je takový znak, vykreslený z tvého PNG. Dej do nadpisu velký glyph a klient ho namaluje přes celou obrazovku truhly.

Umístí ho dvě hodnoty. Záporný shift posune kurzor před glyphem doleva, takže obrázek začne u okraje truhly, a ne u odsazení nadpisu. Ascent glyphu ho posouvá svisle, dokud nezakryje menu. Sloty zůstávají skutečnými sloty: tam, kde obrázek ukazuje tlačítko, má menu prázdný slot s material: air, který pořád spouští akce po kliknutí.

Pokud místo toho používáš ItemsAdder, přečti si verzi tohoto návodu pro ItemsAdder. Princip je stejný, liší se jen config a názvy placeholderů.

Co potřebuješ

  • DeluxeMenus a PlaceholderAPI na serveru. DeluxeMenus zpracovává placeholdery PlaceholderAPI v menu_title.
  • Nexo nebo Oraxen, které sestaví resource pack a poskytují placeholdery pro glyphy a posuny.
  • Pro Oraxen: glyphy v nadpisech inventářů fungují nativně na Paperu 1.21.2 nebo novějším. Starší servery podle dokumentace Oraxenu potřebují PacketEvents.
  • PNG pozadí o velikosti nejvýš 256×256 pixelů. Větší textury pro jeden glyph nejsou povolené.

Krok 1: Navrhni pozadí

Postav menu v tvůrci GUI: vyber řádky, předlohu nebo motiv a nakresli velká tlačítka přes několik slotů. V exportu zvol Nexo nebo Oraxen, nastav namespace (například mymenus) a název menu (například shop).

PNG je široké 256 pixelů a vysoké mezi 164 pixely (jeden řádek) a 254 pixely (šest řádků). Okraj kolem truhly dává rámečkům prostor přesahovat normální obrys menu.

Krok 2a: Config glyphu pro Nexo

Nexo čte glyphy z jakéhokoli YAML souboru ve své složce glyphs. Textura se píše jako namespace:path, tady jde 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žij skutečnou výšku PNG v pixelech.
  • ascent posouvá glyph nahoru. Nexo uvádí, že výška nesmí být nikdy menší než ascent.
  • Placeholdery jsou %nexo_gui_shop% pro glyph a %nexo_shift_<pixels>% pro mezeru, která může být záporná.

Krok 2b: Config glyphu pro Oraxen

Oraxen čte glyphy z plugins/Oraxen/glyphs/. Jeho cesta k textuře je relativní k pack/textures/, takže PNG patří 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 byla větší nebo rovna ascent; vynucuje to Minecraft.
  • Placeholder glyphu je %oraxen_gui_shop%. Posuny mají dva placeholdery: %oraxen_shift_<pixels>% posouvá doprava, %oraxen_neg_shift_<pixels>% doleva. Každý zvládne až 2047 pixelů.
  • Existuje i klíč char, kterým si znak vybereš sám, ten je ale volitelný.

Krok 3: Nadpis menu v DeluxeMenus

Nadpis kombinuje barvu, posun doleva, glyph, posun zpět a text nadpisu. Pro 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'

U Oraxenu se mění jen nadpis, protože posuny doleva 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ázek v jeho vlastních barvách, místo aby ho obarvil barvou nadpisu.
  2. První posun přesune kurzor o 48 pixelů doleva: tvůrce GUI počítá 8 pixelů na odsazení nadpisu truhly plus okraj 40 pixelů svého plátna.
  3. Druhý posun vrátí kurzor, takže &8Shop sedí na obrázku. Jeho hodnota závisí na šířce tvého obrázku; tvůrce GUI ji spočítá.

Nexo i Oraxen mají také tagy MiniMessage jako <glyph:gui_shop> a <shift:-48>. Tvůrce GUI píše formu %…%, protože DeluxeMenus pro menu_title dokumentuje placeholdery PlaceholderAPI.

Krok 4: Zaregistruj menu a reloadni

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Přestav pack: /nexo reload (nebo /nexo reload pack) pro Nexo, /oraxen reload all pro Oraxen.
  2. Spusť /dm reload a otestuj přes /dm open shop.
  3. Jednou restartuj server. DeluxeMenus registruje /shop z register_command: true jen při startu.
  4. Připoj se znovu, abys dostal nový resource pack.

Časté chyby a jejich řešení

Co vidíšPříčina a řešení
%nexo_gui_shop% nebo %oraxen_gui_shop% jako textChybí PlaceholderAPI, nebo ID glyphu v placeholderu neodpovídá klíči v souboru glyphu.
Prázdný čtverec nebo špatný symbolPack nebyl přestavěn nebo má hráč starý pack. Reloadni plugin a připoj se znovu.
Glyph Oraxenu chybí jen v nadpisech menuServer je starší než Paper 1.21.2 a PacketEvents není nainstalovaný.
Obrázek je posunutýShift nebo ascent neodpovídá PNG. Exportuj znovu ze stejného návrhu.
Obrázek je tmavší než PNGPřed prvním placeholderem chybí &f.
Glyph je při načítání odmítnutascent je vyšší než height, nebo je PNG větší než 256×256.
/shop nic neděláMenu není v config.yml, nebo server nebyl po jeho přidání restartován.

Časté otázky

Liší se nastavení pro Nexo a Oraxen?

Jen v detailech. Nexo píše texturu jako namespace:path a používá %nexo_shift_N% se zápornými čísly. Oraxen bere cestu relativní k pack/textures/ a pro posun doleva má %oraxen_neg_shift_N%.

Proč se můj glyph v nadpisu DeluxeMenus nezobrazuje?

Obvykle se placeholder nenahrazuje (chybí PlaceholderAPI nebo je špatné ID glyphu), resource pack nebyl přestavěn, nebo hráč ještě nenačetl nový pack. U Oraxenu na serverech starších než Paper 1.21.2 je pro nadpisy potřeba PacketEvents.

Jaký příkaz pro reload potřebuju?

Pro Nexo /nexo reload, který reloadne všechno, nebo /nexo reload pack jen pro pack. Pro Oraxen /oraxen reload all. Pak /dm reload pro soubor menu.

Můžu použít texturu větší než 256×256 pixelů?

Ne jako jeden glyph. Minecraft omezuje glyphy na 256×256 pixelů. Pozadí menu z tvůrce GUI zůstává v tomto limitu pro každý počet řádků.

Zdroje

Ověřeno podle oficiální dokumentace: