Így működik egy textúrás GUI
Egy ládamenü a bal felső sarokban mutatja a címét. A cím szöveg, a szöveg pedig tartalmazhat karaktereket a szerver resource packjéből. Az ItemsAdder bármilyen PNG-t ilyen karakterré tud alakítani, ennek a neve font image. Tegyél egy nagy font image-et a címbe, és a kliens a ládaképernyő fölé rajzolja.
Még két elem kell, hogy a helyére kerüljön. Egy negatív offset (eltolás) balra mozgatja a kurzort a kép előtt, így a kép a láda bal szélén kezdődik, nem a cím behúzása után. A font image y_position értéke fel vagy le mozgatja, amíg le nem fedi az egész menüt.
A slotok normál slotok maradnak. Ahol a képeden gomb látszik, ott a menüben egy üres, kattintható slot van material: air értékkel és saját kattintási műveletekkel.
Amire szükséged van
- DeluxeMenus és PlaceholderAPI egy Spigot vagy Paper szerveren.
- ItemsAdder, ami felépíti a resource packet, és biztosítja a
%img_…%placeholdereket. - Működő resource pack kézbesítés, hogy a játékosok tényleg letöltsék a packet (az ItemsAdder kínál self-hostingot és más hosting lehetőségeket).
- Egy háttér-PNG. A Minecraft nem enged 256×256 pixelnél nagyobb font glyph-eket, így a képnek ebbe bele kell férnie.
1. lépés: Készítsd el a háttérképet
Tervezd meg a menüt a GUI készítőben: válassz sorszámot, témát vagy sablont, és rajzolj nagy gombokat több slot fölé. Exportnak válaszd az ItemsAdder lehetőséget, add meg a namespace-t (például mymenus) és a menü nevét (például shop).
Az exportált PNG 256 pixel széles. A magassága a sorok számától függ, egy sornál 164, hat sornál 254 pixel. A láda körüli extra hely miatt a keretek és díszítések kilóghatnak a menü normál körvonalából.
2. lépés: Regisztráld a font image-et az ItemsAdderben
Másold a PNG-t a namespace-edbe, és adj hozzá egy font_images bejegyzést. Ezt exportálja a GUI készítő egy hatsoros menühöz:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45Maga a kép ide kerül: plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
- A
scale_ratioaz a magasság, amelyen a kép megjelenik. A PNG valódi pixelmagasságát használd, hogy semmi ne nyúljon meg. - Az
y_positionfüggőlegesen mozgatja a képet. Az ItemsAdder megköveteli, hogy legfeljebb akkora legyen, mint ascale_ratio, mert a játék nem enged többet. - A
show_in_gui: falsekihagyja a hátteret az ItemsAdder emojilistájából.
3. lépés: Tedd a képet a DeluxeMenus menü címébe
A DeluxeMenus feldolgozza a PlaceholderAPI placeholdereket a menu_title mezőben. Az ItemsAdder a képhez a %img_<name>%, az üres helyhez a %img_offset_<pixels>% placeholdert adja, ami negatív is lehet.
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'- Az elején lévő
&fmegtartja a kép valódi színeit. Nélküle a képet a cím színe színezi. - A
%img_offset_-48%a kép előtt 48 pixellel balra viszi a kurzort. A GUI készítő ezt az értéket használja a vásznához: 8 pixel a ládacím behúzása, plusz a 40 pixeles margó, amit mindkét oldalra hozzáad. - A
%img_gui_shop%maga a háttér. - A második eltolás visszaviszi a kurzort, így a
&8Shopa kép tetejére kerül, oda, ahol a cím lenni szokott. Az értéke a képed szélességétől függ; a GUI készítő kiszámolja helyetted.
Ha a GUI készítőben belefested a címet a képbe, a cím a háttér-placeholder után véget ér, és nincs második eltolás.
4. lépés: Regisztráld a menüt, és építsd újra a packet
A DeluxeMenus csak a config.yml-ben felsorolt menüket tölti be:
gui_menus:
shop:
file: shop.yml- Futtasd az
/iazipparancsot, hogy az ItemsAdder újraépítse a resource packet az új képpel. - Futtasd a
/dm reloadparancsot. Nyisd meg egyszer a menüt a/dm open shopparanccsal, hogy ellenőrizd. - A
register_command: truevalódi parancsként regisztrálja a/shopparancsot, de csak a szerver indulásakor. Új menü hozzáadása után indítsd újra egyszer a szervert. - Lépj be újra, fogadd el a resource packet, és nyisd meg a menüt.
Gyakori hibák és javításuk
| Amit látsz | Ok és javítás |
|---|---|
A cím szövegként mutatja: %img_gui_shop% | Hiányzik a PlaceholderAPI, vagy rossz a név. A placeholder a font image configbeli nevét használja, namespace nélkül. |
| Üres doboz vagy rossz szimbólum a kép helyett | A packet nem építették újra, vagy a játékosnál régi pack van. Futtasd az /iazip parancsot, és lépj be újra. |
| Egyes játékosoknál egyáltalán nincs kép | Elutasították a szerver resource packjét. Ellenőrizd a pack hostingját és a kliens szerverbeállításait. |
| A kép el van csúszva | Az első eltolás vagy az y_position nem illik a PNG margóihoz. Exportáld újra, ahelyett hogy számokat találgatnál. |
| A kép szürke vagy sötétebb | Hiányzik a &f a kép elől. |
A /shop ismeretlen parancs | A szervert nem indították újra a menü hozzáadása után, vagy a menü hiányzik a config.yml-ből. |
| Az ItemsAdder elutasítja a font image-et | Az y_position nagyobb, mint a scale_ratio, vagy a kép nagyobb 256×256-nál. |