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:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45De afbeelding zelf komt in plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
scale_ratiois de hoogte waarop de afbeelding wordt getekend. Gebruik de echte pixelhoogte van de PNG, zodat er niks wordt uitgerekt.y_positionschuift de afbeelding verticaal. ItemsAdder eist dat die kleiner dan of gelijk aanscale_ratiois, omdat de game niet meer toestaat.show_in_gui: falsehoudt 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.
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'&faan het begin houdt de afbeelding in haar echte kleuren. Zonder krijgt de afbeelding de kleur van de titel.%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.%img_gui_shop%is de achtergrond zelf.- De tweede offset schuift de cursor weer terug, zodat
&8Shopbovenop 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:
gui_menus:
shop:
file: shop.yml- Voer
/iazipuit, zodat ItemsAdder het resource pack met de nieuwe afbeelding opnieuw bouwt. - Voer
/dm reloaduit. Open het menu één keer met/dm open shopom het te controleren. register_command: trueregistreert/shopals echt commando, maar alleen bij het opstarten van de server. Herstart de server één keer nadat je een nieuw menu hebt toegevoegd.- Join opnieuw, accepteer het resource pack en open het menu.
Veelvoorkomende fouten en oplossingen
| Wat je ziet | Oorzaak en oplossing |
|---|---|
De titel toont %img_gui_shop% als tekst | PlaceholderAPI 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 afbeelding | Het pack is niet opnieuw gebouwd, of de speler heeft een oud pack. Voer /iazip uit en join opnieuw. |
| Sommige spelers zien helemaal geen afbeelding | Ze hebben het resource pack van de server geweigerd. Controleer je packhosting en de serverinstellingen in de client. |
| De afbeelding staat verschoven | De 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 commando | De server is niet herstart nadat het menu is toegevoegd, of het menu ontbreekt in config.yml. |
| ItemsAdder weigert de font image | y_position is groter dan scale_ratio, of de afbeelding is groter dan 256×256. |