Jak funguje GUI s texturou
Menu v truhle ukazuje svůj nadpis v levém horním rohu. Nadpis je text a text může obsahovat znaky z resource packu serveru. ItemsAdder umí z jakéhokoli PNG udělat takový znak, kterému se říká font image (obrázek ve fontu). Dej do nadpisu velký obrázek ve fontu a klient ho vykreslí přes obrazovku truhly.
Aby vše sedělo, jsou potřeba ještě dvě věci. Záporný offset posune kurzor před obrázkem doleva, takže obrázek začne u levého okraje truhly, a ne až za odsazením nadpisu. y_position obrázku ve fontu ho posune nahoru nebo dolů, dokud nezakryje celé menu.
Sloty zůstávají normálními sloty. Tam, kde tvůj obrázek ukazuje tlačítko, má menu prázdný klikací slot s material: air a vlastními akcemi po kliknutí.
Co potřebuješ
- DeluxeMenus a PlaceholderAPI na serveru se Spigotem nebo Paperem.
- ItemsAdder, který sestaví resource pack a poskytuje placeholdery
%img_…%. - Fungující doručování resource packu, aby si hráči pack skutečně stáhli (ItemsAdder nabízí self-hosting i jiné možnosti hostování).
- PNG pozadí. Minecraft nepovoluje glyphy fontu větší než 256×256 pixelů, takže obrázek se do toho musí vejít.
Krok 1: Vytvoř obrázek pozadí
Navrhni menu v tvůrci GUI: vyber řádky, motiv nebo předlohu a nakresli velká tlačítka přes několik slotů. Jako export zvol ItemsAdder, zadej svůj namespace (například mymenus) a název menu (například shop).
Exportované PNG je široké 256 pixelů. Jeho výška závisí na počtu řádků, od 164 pixelů pro jeden řádek po 254 pixelů pro šest. Prostor navíc kolem truhly umožňuje, aby rámečky a dekorace přesahovaly normální obrys menu.
Krok 2: Zaregistruj obrázek ve fontu v ItemsAdderu
Zkopíruj PNG do svého namespace a přidej položku font_images. Tohle tvůrce GUI exportuje pro šestiřádkové menu:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45Samotný obrázek patří do plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
scale_ratioje výška, ve které se obrázek vykreslí. Použij skutečnou výšku PNG v pixelech, aby se nic neroztáhlo.y_positionposouvá obrázek svisle. ItemsAdder vyžaduje, aby byla menší nebo rovnascale_ratio, protože víc hra nedovolí.show_in_gui: falsedrží pozadí mimo seznam emoji ItemsAdderu.
Krok 3: Vlož obrázek do nadpisu menu v DeluxeMenus
DeluxeMenus zpracovává placeholdery PlaceholderAPI v menu_title. ItemsAdder poskytuje %img_<name>% pro obrázek a %img_offset_<pixels>% pro prázdné místo, které může být záporné.
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'&fna začátku zachová obrázek ve skutečných barvách. Bez něj se obrázek obarví barvou nadpisu.%img_offset_-48%posune kurzor před obrázkem o 48 pixelů doleva. Tvůrce GUI tuto hodnotu používá pro své plátno: 8 pixelů na odsazení nadpisu truhly plus okraj 40 pixelů, který přidává na každé straně.%img_gui_shop%je samotné pozadí.- Druhý offset posune kurzor zpět, takže
&8Shopse napíše na obrázek tam, kam nadpis patří. Jeho hodnota závisí na šířce tvého obrázku; tvůrce GUI ji spočítá za tebe.
Pokud v tvůrci GUI vmaluješ nadpis přímo do obrázku, nadpis končí za placeholderem pozadí a druhý offset odpadá.
Krok 4: Zaregistruj menu a přestav pack
DeluxeMenus načítá jen menu uvedená v jeho config.yml:
gui_menus:
shop:
file: shop.yml- Spusť
/iazip, aby ItemsAdder přestavěl resource pack s novým obrázkem. - Spusť
/dm reload. Otevři menu jednou přes/dm open shopa zkontroluj ho. register_command: truezaregistruje/shopjako skutečný příkaz, ale jen při startu serveru. Po přidání nového menu server jednou restartuj.- Připoj se znovu, přijmi resource pack a otevři menu.
Časté chyby a jejich řešení
| Co vidíš | Příčina a řešení |
|---|---|
Nadpis ukazuje %img_gui_shop% jako text | Chybí PlaceholderAPI nebo je špatně název. Placeholder používá název obrázku ve fontu z configu, bez namespace. |
| Místo obrázku prázdný čtverec nebo špatný symbol | Pack nebyl přestavěn, nebo má hráč starý pack. Spusť /iazip a připoj se znovu. |
| Někteří hráči nevidí obrázek vůbec | Odmítli resource pack serveru. Zkontroluj hostování packu a nastavení serveru v klientovi. |
| Obrázek je posunutý | První offset nebo y_position neodpovídá okrajům tvého PNG. Exportuj znovu, místo abys hádal čísla. |
| Obrázek je šedý nebo tmavší | Před obrázkem chybí &f. |
/shop je neznámý příkaz | Server nebyl po přidání menu restartován, nebo menu chybí v config.yml. |
| ItemsAdder obrázek ve fontu odmítne | y_position je větší než scale_ratio, nebo je obrázek větší než 256×256. |