Hopp til innholdet

Egen GUI-bakgrunn i DeluxeMenus med ItemsAdder

Minecraft har ingen innstilling for et bakgrunnsbilde i menyer, men likevel har mange servere kistemenyer som ser ut som egne skjermer. Trikset er et font image i menytittelen: ItemsAdder gjør PNG-en din om til et tegn, og negative offsets flytter tegnet over kisten. Denne guiden setter det opp steg for steg for DeluxeMenus.

Oppdatert:

Slik fungerer en tekstur-GUI

En kistemeny viser tittelen sin øverst i venstre hjørne. Tittelen er tekst, og tekst kan inneholde tegn fra serverens ressurspakke. ItemsAdder kan gjøre en hvilken som helst PNG om til et slikt tegn, et såkalt font image. Setter du et stort font image inn i tittelen, tegner klienten det over kisteskjermen.

To ting til får det til å stemme. Et negativt offset flytter markøren til venstre før bildet, så bildet starter ved kistens venstre kant i stedet for etter innrykket i tittelen. y_position for font imaget flytter det opp eller ned til det dekker hele menyen.

Slotene forblir helt vanlige sloter. Der bildet ditt viser en knapp, har menyen en tom, klikkbar slot med material: air og sine egne klikkhandlinger.

Dette trenger du

  • DeluxeMenus og PlaceholderAPI på en Spigot- eller Paper-server.
  • ItemsAdder, som bygger ressurspakken og leverer %img_…%-placeholderne.
  • En levering av ressurspakken som fungerer, så spillerne faktisk laster ned pakken (ItemsAdder tilbyr selvhosting og andre hostingmuligheter).
  • En bakgrunns-PNG. Minecraft tillater ikke font-glyphs større enn 256×256 piksler, så bildet må få plass innenfor det.

Steg 1: Lag bakgrunnsbildet

Design menyen i GUI-makeren: velg rader, et tema eller en mal, og tegn store knapper over flere sloter. Velg ItemsAdder som eksport, og skriv inn namespacet ditt (for eksempel mymenus) og menynavnet (for eksempel shop).

Den eksporterte PNG-en er 256 piksler bred. Høyden avhenger av radene, fra 164 piksler med én rad til 254 piksler med seks. Den ekstra plassen rundt kisten lar rammer og dekorasjoner stikke utenfor menyens vanlige omriss.

Steg 2: Registrer font imaget i ItemsAdder

Kopier PNG-en inn i namespacet ditt og legg til en font_images-oppføring. Dette er det GUI-makeren eksporterer for en meny med seks rader:

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

Selve bildet skal ligge i plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio er høyden bildet tegnes i. Bruk den faktiske høyden til PNG-en i piksler, så ingenting blir strukket.
  • y_position flytter bildet loddrett. ItemsAdder krever at den er mindre enn eller lik scale_ratio, fordi spillet ikke tillater mer.
  • show_in_gui: false holder bakgrunnen utenfor emoji-listen i ItemsAdder.

Steg 3: Sett bildet inn i tittelen på DeluxeMenus-menyen

DeluxeMenus tolker PlaceholderAPI-placeholdere i menu_title. ItemsAdder leverer %img_<name>% for bildet og %img_offset_<pixels>% for tom plass, som godt kan være negativ.

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 i starten holder bildet i de ekte fargene. Uten det blir bildet farget med tittelfargen.
  2. %img_offset_-48% flytter markøren 48 piksler til venstre før bildet. GUI-makeren bruker denne verdien for lerretet sitt: 8 piksler for innrykket i kistetittelen pluss margen på 40 piksler som den legger til på hver side.
  3. %img_gui_shop% er selve bakgrunnen.
  4. Det andre offsetet flytter markøren tilbake, så &8Shop blir skrevet oppå bildet der en tittel hører hjemme. Verdien avhenger av bredden på bildet ditt; GUI-makeren regner den ut for deg.

Hvis du tegner tittelen inn i bildet i GUI-makeren, slutter tittelen etter bakgrunns-placeholderen, og det blir ikke noe andre offset.

Steg 4: Registrer menyen og bygg pakken på nytt

DeluxeMenus laster bare inn menyer som står i config.yml:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Kjør /iazip, så ItemsAdder bygger ressurspakken på nytt med det nye bildet.
  2. Kjør /dm reload. Åpne menyen én gang med /dm open shop for å sjekke den.
  3. register_command: true registrerer /shop som en ekte kommando, men bare når serveren starter. Start serveren på nytt én gang etter at du har lagt til en ny meny.
  4. Koble til igjen, godta ressurspakken og åpne menyen.

Vanlige feil og løsninger

Det du serÅrsak og løsning
Tittelen viser %img_gui_shop% som tekstPlaceholderAPI mangler, eller navnet er feil. Placeholderen bruker navnet på font imaget fra configen, uten namespace.
En tom boks eller feil symbol i stedet for bildetPakken er ikke bygget på nytt, eller spilleren har en gammel pakke. Kjør /iazip og koble til igjen.
Ikke noe bilde i det hele tatt for noen spillereDe har avslått serverens ressurspakke. Sjekk hostingen av pakken og serverinnstillingene i klienten.
Bildet er forskjøvetDet første offsetet eller y_position stemmer ikke med margene i PNG-en. Eksporter på nytt i stedet for å gjette tall.
Bildet er grått eller mørkere&f mangler foran bildet.
/shop er en ukjent kommandoServeren er ikke startet på nytt etter at menyen ble lagt til, eller menyen mangler i config.yml.
ItemsAdder avviser font imagety_position er større enn scale_ratio, eller bildet er større enn 256×256.

Ofte stilte spørsmål

Må spillerne laste ned noe for å se en egen GUI-bakgrunn?

Ja, ressurspakken som ItemsAdder bygger. Uten den viser tittelen en firkant eller ingenting. ItemsAdder kan sende pakken automatisk når spillere kobler til.

Hvorfor viser DeluxeMenus-tittelen min %img_…% som tekst?

Placeholderen blir ikke erstattet. Sjekk at PlaceholderAPI er installert, at ItemsAdder er lastet inn, og at navnet etter img_ er nøyaktig navnet på font imaget fra configen din.

Kan jeg bruke den samme bakgrunnen til menyer med færre rader?

Bare hvis bildet passer til radene. En kiste med tre rader er lavere enn en med seks, så den trenger sin egen PNG og sin egen scale_ratio. GUI-makeren eksporterer riktig høyde for hvert antall rader.

Fungerer dette uten ItemsAdder?

Samme triks fungerer med Nexo- eller Oraxen-glyphs. Helt uten et ressurspakke-plugin kan du fortsatt bygge en ryddig meny med fargede glassruter, som GUI-makeren eksporterer med valget «Ingen».

Kilder

Kontrollert mot den offisielle dokumentasjonen: