Preskočiť na obsah

Vlastné pozadie GUI v DeluxeMenus s ItemsAdder

Minecraft nemá žiadne nastavenie pre obrázok na pozadí menu, a predsa má veľa serverov menu v truhlici, ktoré vyzerajú ako vlastné obrazovky. Trik spočíva vo font image v nadpise menu: ItemsAdder zmení tvoje PNG na znak a záporné offsety tento znak posunú cez truhlicu. Tento návod ti to krok za krokom nastaví pre DeluxeMenus.

Aktualizované:

Ako funguje textúrované GUI

Menu v truhlici zobrazuje svoj nadpis v ľavom hornom rohu. Nadpis je text a text môže obsahovať znaky zo serverového resource packu. ItemsAdder dokáže z akéhokoľvek PNG urobiť taký znak, ktorý sa volá font image. Daj do nadpisu veľký font image a klient ho vykreslí cez obrazovku truhlice.

Aby všetko sedelo, potrebuješ ešte dve veci. Záporný offset posunie kurzor pred obrázkom doľava, takže obrázok začína pri ľavom okraji truhlice, a nie až za odsadením nadpisu. y_position font imagu ho posúva hore alebo dole, kým nezakryje celé menu.

Sloty zostávajú normálnymi slotmi. Tam, kde tvoj obrázok ukazuje tlačidlo, má menu prázdny klikateľný slot s material: air a vlastnými akciami po kliknutí.

Čo potrebuješ

  • DeluxeMenus a PlaceholderAPI na serveri so Spigotom alebo Paperom.
  • ItemsAdder, ktorý zostaví resource pack a poskytuje placeholdery %img_…%.
  • Funkčné doručovanie resource packu, aby si ho hráči naozaj stiahli (ItemsAdder ponúka self-hosting aj iné možnosti hostingu).
  • PNG s pozadím. Minecraft nepovoľuje glyfy fontu väčšie ako 256×256 pixelov, takže obrázok sa do toho musí zmestiť.

Krok 1: Vytvor obrázok pozadia

Navrhni menu v GUI Makeri: vyber počet riadkov, tému alebo predvoľbu a nakresli veľké tlačidlá cez viac slotov. Ako export zvoľ ItemsAdder, zadaj svoj namespace (napríklad mymenus) a názov menu (napríklad shop).

Vyexportované PNG má šírku 256 pixelov. Jeho výška závisí od počtu riadkov, od 164 pixelov pre jeden riadok po 254 pixelov pre šesť. Priestor navyše okolo truhlice umožňuje, aby rámy a dekorácie presahovali bežný obrys menu.

Krok 2: Zaregistruj font image v ItemsAdder

Skopíruj PNG do svojho namespace a pridaj položku font_images. Toto GUI Maker vyexportuje pre menu so šiestimi riadkami:

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

Samotný obrázok patrí do plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio je výška, v ktorej sa obrázok vykreslí. Použi skutočnú výšku PNG v pixeloch, aby sa nič neroztiahlo.
  • y_position posúva obrázok zvislo. ItemsAdder vyžaduje, aby bola menšia alebo rovná scale_ratio, pretože hra viac nedovolí.
  • show_in_gui: false drží pozadie mimo zoznamu emoji v ItemsAdder.

Krok 3: Vlož obrázok do nadpisu menu v DeluxeMenus

DeluxeMenus spracúva placeholdery PlaceholderAPI v menu_title. ItemsAdder poskytuje %img_<name>% pre obrázok a %img_offset_<pixels>% pre prázdne miesto, ktoré môže byť aj záporné.

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. &f na začiatku zachová obrázok v jeho skutočných farbách. Bez toho sa obrázok zafarbí farbou nadpisu.
  2. %img_offset_-48% posunie kurzor pred obrázkom o 48 pixelov doľava. GUI Maker túto hodnotu používa pre svoje plátno: 8 pixelov za odsadenie nadpisu truhlice plus 40-pixelový okraj, ktorý pridáva na každej strane.
  3. %img_gui_shop% je samotné pozadie.
  4. Druhý offset vráti kurzor späť, takže &8Shop sa napíše na obrázok tam, kde nadpis patrí. Jeho hodnota závisí od šírky tvojho obrázka; GUI Maker ju vypočíta za teba.

Ak v GUI Makeri vkreslíš nadpis priamo do obrázka, nadpis končí za placeholderom pozadia a druhý offset nie je potrebný.

Krok 4: Zaregistruj menu a znova zostav pack

DeluxeMenus načíta len menu uvedené v jeho config.yml:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Spusti /iazip, aby ItemsAdder znova zostavil resource pack s novým obrázkom.
  2. Spusti /dm reload. Otvor menu raz príkazom /dm open shop a skontroluj ho.
  3. register_command: true zaregistruje /shop ako skutočný príkaz, ale len pri štarte servera. Po pridaní nového menu server raz reštartuj.
  4. Pripoj sa znova, prijmi resource pack a otvor menu.

Bežné chyby a ich riešenia

Čo vidíšPríčina a riešenie
Nadpis ukazuje %img_gui_shop% ako textChýba PlaceholderAPI alebo je názov zlý. Placeholder používa názov font imagu z konfigurácie, bez namespace.
Namiesto obrázka prázdny štvorček alebo zlý symbolPack sa znova nezostavil alebo má hráč starý pack. Spusti /iazip a pripoj sa znova.
Niektorí hráči nevidia obrázok vôbecOdmietli serverový resource pack. Skontroluj hosting packu a nastavenia servera v klientovi.
Obrázok je posunutýPrvý offset alebo y_position nesedí s okrajmi tvojho PNG. Radšej exportuj znova, než by si hádal čísla.
Obrázok je sivý alebo tmavšíPred obrázkom chýba &f.
/shop je neznámy príkazServer sa po pridaní menu nereštartoval alebo menu chýba v config.yml.
ItemsAdder font image odmietney_position je väčšia ako scale_ratio alebo je obrázok väčší ako 256×256.

Často kladené otázky

Musia si hráči kvôli vlastnému pozadiu GUI niečo sťahovať?

Áno, serverový resource pack, ktorý zostaví ItemsAdder. Bez neho nadpis ukáže zástupný štvorček alebo nič. ItemsAdder môže pack poslať automaticky, keď sa hráči pripoja.

Prečo môj nadpis v DeluxeMenus ukazuje %img_…% ako text?

Placeholder sa nenahrádza. Skontroluj, či je nainštalovaný PlaceholderAPI, či je ItemsAdder načítaný a či je názov za img_ presne názov font imagu z tvojej konfigurácie.

Môžem použiť to isté pozadie pre menu s menej riadkami?

Len ak obrázok sedí s počtom riadkov. Truhlica s tromi riadkami je nižšia ako so šiestimi, takže potrebuje vlastné PNG a vlastný scale_ratio. GUI Maker vyexportuje správnu výšku pre každý počet riadkov.

Funguje to aj bez ItemsAdder?

Ten istý trik funguje s glyfmi Nexo alebo Oraxen. Bez akéhokoľvek pluginu na resource pack môžeš stále postaviť čisté menu z farebných sklenených tabúľ, ktoré GUI Maker vyexportuje s voľbou „Žiadny“.

Zdroje

Overené podľa oficiálnej dokumentácie: