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:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heightje vykreslená výška. Použij skutečnou výšku PNG v pixelech.ascentposouvá 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:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen vyžaduje, aby
heightbyla větší nebo rovnaascent; 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 4: Zaregistruj menu a reloadni
gui_menus:
shop:
file: shop.yml- Přestav pack:
/nexo reload(nebo/nexo reload pack) pro Nexo,/oraxen reload allpro Oraxen. - Spusť
/dm reloada otestuj přes/dm open shop. - Jednou restartuj server. DeluxeMenus registruje
/shopzregister_command: truejen při startu. - 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 text | Chybí PlaceholderAPI, nebo ID glyphu v placeholderu neodpovídá klíči v souboru glyphu. |
| Prázdný čtverec nebo špatný symbol | Pack nebyl přestavěn nebo má hráč starý pack. Reloadni plugin a připoj se znovu. |
| Glyph Oraxenu chybí jen v nadpisech menu | Server 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ž PNG | Před prvním placeholderem chybí &f. |
| Glyph je při načítání odmítnut | ascent 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. |