Preskoči na vsebino

Ozadje GUI v DeluxeMenus z Nexo ali Oraxen

Lastni zasloni menijev v Minecraftu so trik: slika v ozadju je en sam znak v naslovu menija. Nexo in Oraxen takim znakom pravita glifi (glyphs). Ta vodnik pokaže konfiguracijo glifov za oba plugina, shift placeholderje, ki sliko premaknejo na pravo mesto, in kako vse skupaj povežeš z DeluxeMenus.

Posodobljeno:

Kako glif postane ozadje menija

Meni skrinje izpiše svoj naslov v zgornjem levem kotu, ta naslov pa lahko vsebuje znake iz resource packa strežnika. Glif je tak znak, narisan iz tvojega PNG-ja. Če v naslov postaviš velik glif, ga odjemalec nariše čez celoten zaslon skrinje.

Položaj določata dve vrednosti. Negativen shift premakne kazalec levo pred glif, tako da se slika začne na robu skrinje in ne pri zamiku naslova. Ascent glifa ga premakne navpično, dokler ne prekrije menija. Sloti ostanejo pravi sloti: kjer slika prikazuje gumb, ima meni prazen slot z material: air, ki še vedno izvaja dejanja ob kliku.

Če namesto tega uporabljaš ItemsAdder, preberi različico tega vodnika za ItemsAdder. Zamisel je enaka, razlikujejo se le konfiguracija in imena placeholderjev.

Kaj potrebuješ

  • DeluxeMenus in PlaceholderAPI na tvojem strežniku. DeluxeMenus v menu_title obdela placeholderje PlaceholderAPI.
  • Nexo ali Oraxen, ki zgradita resource pack in ponujata placeholderje za glife in zamike.
  • Za Oraxen: glifi v naslovih inventarjev delujejo neposredno na Paper 1.21.2 ali novejšem. Starejši strežniki po dokumentaciji Oraxen potrebujejo PacketEvents.
  • PNG za ozadje velikosti največ 256×256 pikslov. Večje teksture za en sam glif niso dovoljene.

1. korak: Oblikuj ozadje

Meni zgradi v GUI Maker: izberi število vrstic, predlogo ali temo in nariši velike gumbe čez več slotov. Pri izvozu izberi Nexo ali Oraxen, nastavi namespace (na primer mymenus) in ime menija (na primer shop).

PNG je širok 256 pikslov in visok med 164 piksli (ena vrstica) in 254 piksli (šest vrstic). Rob okoli skrinje daje okvirjem prostor, da segajo čez običajen obris menija.

2a. korak: Konfiguracija glifa za Nexo

Nexo bere glife iz katerekoli datoteke YAML v svoji mapi glyphs. Tekstura je zapisana kot namespace:path, tukaj PNG na poti plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:

plugins/Nexo/glyphs/gui_shop.yml
gui_shop:
  texture: mymenus:gui/shop
  ascent: 45
  height: 254
  • height je narisana višina. Uporabi pravo višino PNG-ja v pikslih.
  • ascent premakne glif navzgor. Nexo pravi, da višina nikoli ne sme biti manjša od ascenta.
  • Placeholderja sta %nexo_gui_shop% za glif in %nexo_shift_<pixels>% za prostor, ki je lahko tudi negativen.

2b. korak: Konfiguracija glifa za Oraxen

Oraxen bere glife iz plugins/Oraxen/glyphs/. Pot do teksture je relativna glede na pack/textures/, zato gre PNG v plugins/Oraxen/pack/textures/gui/shop.png:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • Oraxen zahteva, da je height večji ali enak ascent; to uveljavlja Minecraft.
  • Placeholder za glif je %oraxen_gui_shop%. Za zamike sta dva placeholderja: %oraxen_shift_<pixels>% premakne desno, %oraxen_neg_shift_<pixels>% levo. Vsak podpira do 2047 pikslov.
  • Obstaja tudi ključ char, s katerim znak izbereš sam, vendar ni obvezen.

3. korak: Naslov menija v DeluxeMenus

Naslov združuje barvo, zamik v levo, glif, zamik nazaj in besedilo naslova. Za Nexo:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%nexo_shift_-48%%nexo_gui_shop%%nexo_shift_-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'

Za Oraxen se spremeni samo naslov, ker imajo zamiki v levo svoj placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. &f ohrani sliko v njenih barvah, namesto da bi jo obarval z barvo naslova.
  2. Prvi zamik premakne kazalec za 48 pikslov levo: GUI Maker računa 8 pikslov za zamik naslova skrinje in 40 pikslov roba svojega platna.
  3. Drugi zamik vrne kazalec nazaj, da &8Shop stoji na sliki. Njegova vrednost je odvisna od širine tvoje slike; GUI Maker jo izračuna.

Nexo in Oraxen imata tudi oznake MiniMessage, kot sta <glyph:gui_shop> in <shift:-48>. GUI Maker piše obliko %…%, ker DeluxeMenus za menu_title dokumentira placeholderje PlaceholderAPI.

4. korak: Registriraj meni in ponovno naloži

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Znova zgradi paket: /nexo reload (ali /nexo reload pack) za Nexo, /oraxen reload all za Oraxen.
  2. Zaženi /dm reload in preizkusi z /dm open shop.
  3. Strežnik enkrat znova zaženi. DeluxeMenus registrira /shop iz register_command: true samo ob zagonu.
  4. Znova se pridruži, da dobiš nov resource pack.

Pogoste napake in rešitve

Kaj vidišVzrok in rešitev
%nexo_gui_shop% ali %oraxen_gui_shop% kot besediloPlaceholderAPI manjka ali se ID glifa v placeholderju ne ujema s ključem v datoteki glifa.
Prazen kvadratek ali napačen simbolPaket ni bil znova zgrajen ali ima igralec star paket. Ponovno naloži plugin in se znova pridruži.
Glif Oraxen manjka samo v naslovih menijevStrežnik je starejši od Paper 1.21.2 in PacketEvents ni nameščen.
Slika je zamaknjenaZamik ali ascent se ne ujema s PNG-jem. Znova izvozi iz istega dizajna.
Slika je temnejša od PNG-jaPred prvim placeholderjem manjka &f.
Glif je ob nalaganju zavrnjenascent je večji od height ali je PNG večji od 256×256.
/shop ne naredi ničesarMeni ni v config.yml ali strežnik po dodajanju ni bil znova zagnan.

Pogosta vprašanja

Ali je nastavitev za Nexo in Oraxen različna?

Samo v podrobnostih. Nexo teksturo zapiše kot namespace:path in uporablja %nexo_shift_N% z negativnimi števili. Oraxen sprejme pot, relativno glede na pack/textures/, in ima %oraxen_neg_shift_N% za premik v levo.

Zakaj se moj glif ne prikaže v naslovu DeluxeMenus?

Običajno se placeholder ne zamenja (PlaceholderAPI manjka ali je ID glifa napačen), resource pack ni bil znova zgrajen ali igralec ni naložil novega paketa. Pri Oraxen na strežnikih, starejših od Paper 1.21.2, je za naslove potreben PacketEvents.

Kateri ukaz za ponovno nalaganje potrebujem?

Za Nexo /nexo reload, ki ponovno naloži vse, ali /nexo reload pack samo za paket. Za Oraxen /oraxen reload all. Nato /dm reload za datoteko menija.

Lahko uporabim teksturo, večjo od 256×256 pikslov?

Ne kot en glif. Minecraft glife omejuje na 256×256 pikslov. Ozadje menija iz GUI Maker ostane znotraj te meje pri vsakem številu vrstic.

Viri

Preverjeno z uradno dokumentacijo: