Spring til indhold

Egen GUI-baggrund i DeluxeMenus med ItemsAdder

Minecraft har ingen indstilling til et baggrundsbillede i menuer, men alligevel har mange servere kistemenuer, der ligner egne skærme. Tricket er et font image i menutitlen: ItemsAdder laver din PNG om til et tegn, og negative offsets flytter tegnet hen over kisten. Denne guide sætter det op trin for trin til DeluxeMenus.

Opdateret:

Sådan virker en tekstur-GUI

En kistemenu viser sin titel i øverste venstre hjørne. Titlen er tekst, og tekst kan indeholde tegn fra serverens resource pack. ItemsAdder kan lave enhver PNG om til sådan et tegn, et såkaldt font image. Sætter du et stort font image ind i titlen, tegner klienten det hen over kisteskærmen.

To ting mere får det til at passe. Et negativt offset flytter markøren til venstre før billedet, så billedet starter ved kistens venstre kant i stedet for efter titlens indrykning. Font imagets y_position flytter det op eller ned, indtil det dækker hele menuen.

Slots forbliver helt almindelige slots. Hvor dit billede viser en knap, har menuen et tomt, klikbart slot med material: air og sine egne klik-actions.

Det skal du bruge

  • DeluxeMenus og PlaceholderAPI på en Spigot- eller Paper-server.
  • ItemsAdder, som bygger resource packen og leverer %img_…%-placeholders.
  • En resource pack-levering, der virker, så spillerne rent faktisk downloader packen (ItemsAdder tilbyder selv-hosting og andre muligheder for hosting).
  • En baggrunds-PNG. Minecraft tillader ikke font-glyphs større end 256×256 pixels, så billedet skal kunne være inden for det.

Trin 1: Lav baggrundsbilledet

Design menuen i GUI-makeren: vælg rækker, et tema eller en skabelon, og tegn store knapper hen over flere slots. Vælg ItemsAdder som eksport, og indtast dit namespace (f.eks. mymenus) og menunavnet (f.eks. shop).

Den eksporterede PNG er 256 pixels bred. Højden afhænger af rækkerne, fra 164 pixels ved én række til 254 pixels ved seks. Den ekstra plads omkring kisten lader rammer og dekorationer stikke ud over menuens normale omrids.

Trin 2: Registrér font imaget i ItemsAdder

Kopiér PNG’en ind i dit namespace, og tilføj en font_images-post. Det her er, hvad GUI-makeren eksporterer til en menu med seks rækker:

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 billedet skal ligge i plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio er den højde, billedet tegnes i. Brug PNG’ens rigtige højde i pixels, så intet bliver strakt.
  • y_position flytter billedet lodret. ItemsAdder kræver, at den er mindre end eller lig med scale_ratio, fordi spillet ikke tillader mere.
  • show_in_gui: false holder baggrunden ude af ItemsAdders emoji-liste.

Trin 3: Sæt billedet ind i DeluxeMenus-menuens titel

DeluxeMenus fortolker PlaceholderAPI-placeholders i menu_title. ItemsAdder leverer %img_<name>% til billedet og %img_offset_<pixels>% til tom plads, 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 billedet i dets rigtige farver. Uden det bliver billedet farvet med titlens farve.
  2. %img_offset_-48% flytter markøren 48 pixels til venstre før billedet. GUI-makeren bruger denne værdi til sit lærred: 8 pixels for kistetitlens indrykning plus den margen på 40 pixels, den lægger til på hver side.
  3. %img_gui_shop% er selve baggrunden.
  4. Det andet offset flytter markøren tilbage, så &8Shop bliver skrevet oven på billedet, hvor en titel hører hjemme. Værdien afhænger af billedets bredde; GUI-makeren regner den ud for dig.

Hvis du maler titlen ind i billedet i GUI-makeren, slutter titlen efter baggrunds-placeholderen, og der er intet andet offset.

Trin 4: Registrér menuen, og byg packen igen

DeluxeMenus indlæser kun menuer, der står i dens config.yml:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Kør /iazip, så ItemsAdder bygger resource packen igen med det nye billede.
  2. Kør /dm reload. Åbn menuen én gang med /dm open shop for at tjekke den.
  3. register_command: true registrerer /shop som en rigtig kommando, men kun når serveren starter. Genstart serveren én gang, når du har tilføjet en ny menu.
  4. Join igen, accepter resource packen, og åbn menuen.

Typiske fejl og løsninger

Det ser duÅrsag og løsning
Titlen viser %img_gui_shop% som tekstPlaceholderAPI mangler, eller navnet er forkert. Placeholderen bruger font imagets navn fra configen, uden namespace.
En tom boks eller et forkert symbol i stedet for billedetPacken er ikke bygget igen, eller spilleren har en gammel pack. Kør /iazip, og join igen.
Slet intet billede for nogle spillereDe har afvist serverens resource pack. Tjek din pack-hosting og klientens serverindstillinger.
Billedet er forskudtDet første offset eller y_position passer ikke med margenerne i din PNG. Eksportér igen i stedet for at gætte på tal.
Billedet er gråt eller mørkere&f mangler foran billedet.
/shop er en ukendt kommandoServeren er ikke genstartet, efter menuen blev tilføjet, eller menuen mangler i config.yml.
ItemsAdder afviser font imagety_position er større end scale_ratio, eller billedet er større end 256×256.

Ofte stillede spørgsmål

Skal spillerne downloade noget for at se en egen GUI-baggrund?

Ja, den resource pack, som ItemsAdder bygger. Uden den viser titlen en firkant eller ingenting. ItemsAdder kan sende packen automatisk, når spillere joiner.

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

Placeholderen bliver ikke erstattet. Tjek, at PlaceholderAPI er installeret, at ItemsAdder er indlæst, og at navnet efter img_ er præcis font imagets navn fra din config.

Kan jeg bruge den samme baggrund til menuer med færre rækker?

Kun hvis billedet passer til rækkerne. En kiste med tre rækker er lavere end en med seks, så den skal have sin egen PNG og sin egen scale_ratio. GUI-makeren eksporterer den rigtige højde for hvert antal rækker.

Virker det uden ItemsAdder?

Samme trick virker med Nexo- eller Oraxen-glyphs. Helt uden resource pack-plugin kan du stadig bygge en pæn menu med farvede glasruder, som GUI-makeren eksporterer med indstillingen „Ingen“.

Kilder

Tjekket mod den officielle dokumentation: