Ugrás a tartalomhoz

Egyedi GUI-háttér DeluxeMenusban ItemsAdderrel

A Minecraftban nincs beállítás menühátterekhez, mégis sok szerveren olyan ládamenük vannak, amelyek egyedi képernyőnek tűnnek. A trükk egy font image a menü címében: az ItemsAdder a PNG-det egy karakterré alakítja, a negatív eltolások pedig ráhúzzák ezt a karaktert a ládára. Ez az útmutató lépésről lépésre beállítja DeluxeMenushoz.

Frissítve:

Í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:

plugins/ItemsAdder/contents/mymenus/configs/gui_shop.yml
info:
  namespace: mymenus
font_images:
  gui_shop:
    path: gui/shop
    show_in_gui: false
    suggest_in_command: false
    scale_ratio: 254
    y_position: 45

Maga a kép ide kerül: plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • A scale_ratio az 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_position függőlegesen mozgatja a képet. Az ItemsAdder megköveteli, hogy legfeljebb akkora legyen, mint a scale_ratio, mert a játék nem enged többet.
  • A show_in_gui: false kihagyja 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.

plugins/DeluxeMenus/gui_menus/shop.yml
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'
  1. Az elején lévő &f megtartja a kép valódi színeit. Nélküle a képet a cím színe színezi.
  2. 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.
  3. A %img_gui_shop% maga a háttér.
  4. A második eltolás visszaviszi a kurzort, így a &8Shop a 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:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Futtasd az /iazip parancsot, hogy az ItemsAdder újraépítse a resource packet az új képpel.
  2. Futtasd a /dm reload parancsot. Nyisd meg egyszer a menüt a /dm open shop paranccsal, hogy ellenőrizd.
  3. A register_command: true valódi parancsként regisztrálja a /shop parancsot, de csak a szerver indulásakor. Új menü hozzáadása után indítsd újra egyszer a szervert.
  4. Lépj be újra, fogadd el a resource packet, és nyisd meg a menüt.

Gyakori hibák és javításuk

Amit látszOk é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 helyettA 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épElutasí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úszvaAz 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étebbHiányzik a &f a kép elől.
A /shop ismeretlen parancsA 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-etAz y_position nagyobb, mint a scale_ratio, vagy a kép nagyobb 256×256-nál.

Gyakori kérdések

Le kell töltenie valamit a játékosoknak egy egyedi GUI-háttérhez?

Igen, a szerver resource packjét, amit az ItemsAdder épít. Nélküle a cím egy helyettesítő négyzetet mutat, vagy semmit. Az ItemsAdder automatikusan el tudja küldeni a packet, amikor a játékosok belépnek.

Miért mutatja a DeluxeMenus címem szövegként a %img_…% részt?

A placeholder nem cserélődik le. Ellenőrizd, hogy telepítve van-e a PlaceholderAPI, be van-e töltve az ItemsAdder, és hogy az img_ utáni név pontosan a font image neve-e a configodból.

Használhatom ugyanazt a hátteret kevesebb soros menükhöz?

Csak ha a kép illik a sorokhoz. Egy háromsoros láda alacsonyabb egy hatsorosnál, így saját PNG és saját scale_ratio kell hozzá. A GUI készítő minden sorszámhoz a megfelelő magasságot exportálja.

Működik ez ItemsAdder nélkül?

Ugyanez a trükk működik Nexo vagy Oraxen glyphekkel. Resource pack plugin nélkül is építhetsz rendezett menüt színes üveglapokkal, ezt a GUI készítő a „Nincs” opcióval exportálja.

Források

A hivatalos dokumentációval ellenőrizve: