Naar de inhoud

Eigen GUI-achtergrond in DeluxeMenus met ItemsAdder

Minecraft heeft geen instelling voor een achtergrondafbeelding in menu’s, en toch hebben veel servers kistmenu’s die eruitzien als eigen schermen. De truc is een font image in de menutitel: ItemsAdder maakt van je PNG een teken, en negatieve offsets schuiven dat teken over de kist. Deze handleiding zet het stap voor stap op voor DeluxeMenus.

Bijgewerkt:

Zo werkt een GUI met texture

Een kistmenu toont zijn titel linksboven. Die titel is tekst, en tekst kan tekens uit het resource pack van de server bevatten. ItemsAdder kan van elke PNG zo’n teken maken, een font image. Zet je een grote font image in de titel, dan tekent de client die over het kistscherm heen.

Twee extra onderdelen zorgen dat alles klopt. Een negatieve offset schuift de cursor vóór de afbeelding naar links, zodat de afbeelding aan de linkerrand van de kist begint en niet pas na de inspringing van de titel. De y_position van de font image schuift hem omhoog of omlaag tot hij het hele menu bedekt.

De slots blijven gewone slots. Waar je afbeelding een knop laat zien, heeft het menu een leeg, klikbaar slot met material: air en eigen klikacties.

Wat je nodig hebt

  • DeluxeMenus en PlaceholderAPI op een Spigot- of Paper-server.
  • ItemsAdder, dat het resource pack bouwt en de %img_…%-placeholders levert.
  • Een werkende levering van het resource pack, zodat spelers het pack ook echt downloaden (ItemsAdder biedt self-hosting en andere hostingopties).
  • Een achtergrond-PNG. Minecraft staat geen font-glyphs groter dan 256×256 pixels toe, dus de afbeelding moet daarbinnen passen.

Stap 1: Maak de achtergrondafbeelding

Ontwerp het menu in de GUI-maker: kies het aantal rijen, een thema of preset, en teken grote knoppen over meerdere slots. Kies ItemsAdder als export, vul je namespace in (bijvoorbeeld mymenus) en de menunaam (bijvoorbeeld shop).

De geëxporteerde PNG is 256 pixels breed. De hoogte hangt af van het aantal rijen, van 164 pixels voor één rij tot 254 pixels voor zes. Door de extra ruimte rond de kist kunnen randen en decoraties buiten de normale omtrek van het menu uitsteken.

Stap 2: Registreer de font image in ItemsAdder

Kopieer de PNG naar je namespace en voeg een font_images-regel toe. Dit exporteert de GUI-maker voor een menu met zes rijen:

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

De afbeelding zelf komt in plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio is de hoogte waarop de afbeelding wordt getekend. Gebruik de echte pixelhoogte van de PNG, zodat er niks wordt uitgerekt.
  • y_position schuift de afbeelding verticaal. ItemsAdder eist dat die kleiner dan of gelijk aan scale_ratio is, omdat de game niet meer toestaat.
  • show_in_gui: false houdt de achtergrond uit de emojilijst van ItemsAdder.

Stap 3: Zet de afbeelding in de menutitel van DeluxeMenus

DeluxeMenus verwerkt PlaceholderAPI-placeholders in menu_title. ItemsAdder levert %img_<name>% voor de afbeelding en %img_offset_<pixels>% voor lege ruimte, die ook negatief kan zijn.

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 aan het begin houdt de afbeelding in haar echte kleuren. Zonder krijgt de afbeelding de kleur van de titel.
  2. %img_offset_-48% schuift de cursor 48 pixels naar links vóór de afbeelding. De GUI-maker gebruikt deze waarde voor zijn canvas: 8 pixels voor de inspringing van de kisttitel plus de marge van 40 pixels die hij aan elke kant toevoegt.
  3. %img_gui_shop% is de achtergrond zelf.
  4. De tweede offset schuift de cursor weer terug, zodat &8Shop bovenop de afbeelding komt te staan, waar een titel hoort. De waarde hangt af van de breedte van je afbeelding; de GUI-maker rekent hem voor je uit.

Zet je de titel in de GUI-maker al in de afbeelding, dan eindigt de titel na de achtergrondplaceholder en is er geen tweede offset.

Stap 4: Registreer het menu en bouw het pack opnieuw

DeluxeMenus laadt alleen menu’s die in zijn config.yml staan:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Voer /iazip uit, zodat ItemsAdder het resource pack met de nieuwe afbeelding opnieuw bouwt.
  2. Voer /dm reload uit. Open het menu één keer met /dm open shop om het te controleren.
  3. register_command: true registreert /shop als echt commando, maar alleen bij het opstarten van de server. Herstart de server één keer nadat je een nieuw menu hebt toegevoegd.
  4. Join opnieuw, accepteer het resource pack en open het menu.

Veelvoorkomende fouten en oplossingen

Wat je zietOorzaak en oplossing
De titel toont %img_gui_shop% als tekstPlaceholderAPI ontbreekt, of de naam klopt niet. De placeholder gebruikt de naam van de font image uit de config, zonder de namespace.
Een leeg vakje of een verkeerd symbool in plaats van de afbeeldingHet pack is niet opnieuw gebouwd, of de speler heeft een oud pack. Voer /iazip uit en join opnieuw.
Sommige spelers zien helemaal geen afbeeldingZe hebben het resource pack van de server geweigerd. Controleer je packhosting en de serverinstellingen in de client.
De afbeelding staat verschovenDe eerste offset of y_position past niet bij de marges van je PNG. Exporteer opnieuw in plaats van getallen te gokken.
De afbeelding is grijs of donkerder&f ontbreekt vóór de afbeelding.
/shop is een onbekend commandoDe server is niet herstart nadat het menu is toegevoegd, of het menu ontbreekt in config.yml.
ItemsAdder weigert de font imagey_position is groter dan scale_ratio, of de afbeelding is groter dan 256×256.

Veelgestelde vragen

Moeten spelers iets downloaden voor een eigen GUI-achtergrond?

Ja, het resource pack van de server dat ItemsAdder bouwt. Zonder pack toont de titel een vierkantje of helemaal niks. ItemsAdder kan het pack automatisch sturen als spelers joinen.

Waarom toont mijn DeluxeMenus-titel %img_…% als tekst?

De placeholder wordt niet vervangen. Controleer of PlaceholderAPI is geïnstalleerd, of ItemsAdder geladen is en of de naam na img_ precies de naam van de font image uit je config is.

Kan ik dezelfde achtergrond gebruiken voor menu’s met minder rijen?

Alleen als de afbeelding bij het aantal rijen past. Een kist met drie rijen is lager dan een kist met zes, dus die heeft een eigen PNG en een eigen scale_ratio nodig. De GUI-maker exporteert de juiste hoogte voor elk aantal rijen.

Werkt dit ook zonder ItemsAdder?

Dezelfde truc werkt met glyphs van Nexo of Oraxen. Zonder resource pack-plugin kun je nog steeds een strak menu bouwen met gekleurde glazen panelen; de GUI-maker exporteert dat met de optie „Geen”.

Bronnen

Gecontroleerd aan de hand van de officiële documentatie: