Zum Inhalt springen

Eigener GUI-Hintergrund in DeluxeMenus mit ItemsAdder

Minecraft kennt keine Einstellung für ein Hintergrundbild im Menü. Trotzdem haben viele Server Kistenmenüs, die wie eigene Oberflächen aussehen. Der Trick steckt im Menütitel: ItemsAdder macht aus deinem PNG ein Zeichen, ein sogenanntes Font-Image, und negative Abstände schieben dieses Zeichen über die Kiste. Hier richtest du das Schritt für Schritt für DeluxeMenus ein.

Aktualisiert:

So funktioniert eine ItemsAdder-GUI-Textur

Ein Kistenmenü zeigt seinen Titel oben links. Dieser Titel ist Text, und Text darf Zeichen aus dem Ressourcenpaket des Servers enthalten. ItemsAdder kann jedes PNG in so ein Zeichen verwandeln, ein Font-Image. Steht ein großes Font-Image im Titel, zeichnet der Client es über das Kistenmenü.

Damit es genau passt, braucht es noch zwei Dinge. Ein negativer Offset schiebt den Cursor vor dem Bild nach links, sodass das Bild am linken Rand der Kiste beginnt und nicht erst nach dem Einzug des Titels. Mit y_position verschiebst du das Font-Image nach oben oder unten, bis es das ganze Menü bedeckt.

Die Slots bleiben ganz normale Slots. Wo dein Bild einen Knopf zeigt, liegt im Menü ein leerer, klickbarer Slot mit material: air und eigenen Klick-Aktionen.

Was du brauchst

  • DeluxeMenus und PlaceholderAPI auf einem Spigot- oder Paper-Server.
  • ItemsAdder, das das Ressourcenpaket baut und die Platzhalter %img_…% bereitstellt.
  • Eine funktionierende Auslieferung des Ressourcenpakets, damit Spieler es wirklich laden (ItemsAdder bietet Self-Hosting und andere Hosting-Wege an).
  • Ein Hintergrundbild als PNG. Minecraft erlaubt keine Schriftzeichen über 256×256 Pixel, das Bild muss also in diese Größe passen.

Schritt 1: Das Menü-Hintergrundbild gestalten

Bau das Menü im GUI-Maker: Reihen wählen, ein Theme oder eine Vorlage nehmen und große Knöpfe über mehrere Slots ziehen. Wähl beim Export ItemsAdder, trag deinen Namespace ein (zum Beispiel mymenus) und den Menünamen (zum Beispiel shop).

Das exportierte PNG ist 256 Pixel breit. Die Höhe hängt von den Reihen ab: 164 Pixel bei einer Reihe bis 254 Pixel bei sechs. Der zusätzliche Rand um die Kiste erlaubt Rahmen und Verzierungen, die über den normalen Menüumriss hinausragen.

Schritt 2: Das Font-Image in ItemsAdder eintragen

Kopier das PNG in deinen Namespace und leg einen Eintrag unter font_images an. So sieht der Export des GUI-Makers für ein Menü mit sechs Reihen aus:

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

Das Bild selbst gehört nach plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio ist die Höhe, in der das Bild gezeichnet wird. Nimm die echte Pixelhöhe des PNG, dann wird nichts gestreckt.
  • y_position verschiebt das Bild senkrecht. ItemsAdder verlangt, dass der Wert kleiner oder gleich scale_ratio ist, weil das Spiel nicht mehr zulässt.
  • show_in_gui: false hält den Hintergrund aus der Emoji-Liste von ItemsAdder heraus.

Schritt 3: Das Bild in den DeluxeMenus-Menütitel setzen

DeluxeMenus wertet PlaceholderAPI-Platzhalter in menu_title aus. ItemsAdder liefert %img_<name>% für das Bild und %img_offset_<pixel>% für Leerraum, der auch negativ sein darf.

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 am Anfang sorgt dafür, dass das Bild in seinen echten Farben erscheint. Ohne diesen Code wird es mit der Titelfarbe eingefärbt.
  2. %img_offset_-48% schiebt den Cursor vor dem Bild um 48 Pixel nach links. Der GUI-Maker nutzt diesen Wert für seine Leinwand: 8 Pixel für den Einzug des Kistentitels plus 40 Pixel Rand, die er auf jeder Seite ergänzt.
  3. %img_gui_shop% ist der Hintergrund selbst.
  4. Der zweite Offset schiebt den Cursor wieder zurück, damit &8Shop dort auf dem Bild steht, wo ein Titel hingehört. Der Wert hängt von der Breite deines Bildes ab, der GUI-Maker rechnet ihn für dich aus.

Wenn du den Titel im GUI-Maker direkt ins Bild einbackst, endet der Titel nach dem Platzhalter für den Hintergrund, und der zweite Offset fällt weg.

Schritt 4: Menü registrieren und Paket neu bauen

DeluxeMenus lädt nur Menüs, die in seiner config.yml stehen:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Führ /iazip aus, damit ItemsAdder das Ressourcenpaket mit dem neuen Bild baut.
  2. Führ /dm reload aus. Öffne das Menü zum Prüfen einmal mit /dm open shop.
  3. register_command: true meldet /shop als echten Befehl an, aber nur beim Serverstart. Starte den Server nach einem neuen Menü also einmal neu.
  4. Join neu, nimm das Ressourcenpaket an und öffne das Menü.

Typische Fehler und Lösungen

Was du siehstUrsache und Lösung
Im Titel steht %img_gui_shop% als TextPlaceholderAPI fehlt, oder der Name stimmt nicht. Der Platzhalter nutzt den Namen des Font-Images aus der Config, ohne Namespace.
Ein leeres Kästchen oder ein falsches Zeichen statt des BildesDas Paket wurde nicht neu gebaut, oder der Spieler hat noch das alte. /iazip ausführen und neu joinen.
Manche Spieler sehen gar kein BildDiese Spieler haben das Ressourcenpaket des Servers abgelehnt. Prüf dein Pack-Hosting und die Servereinstellungen im Client.
Das Bild ist verschobenDer erste Offset oder y_position passt nicht zu den Rändern deines PNG. Lieber neu exportieren als Zahlen raten.
Das Bild ist grau oder zu dunkelVor dem Bild fehlt &f.
/shop ist ein unbekannter BefehlDer Server wurde nach dem Eintragen nicht neu gestartet, oder das Menü fehlt in der config.yml.
ItemsAdder lehnt das Font-Image aby_position ist größer als scale_ratio, oder das Bild ist größer als 256×256.

Häufige Fragen

Müssen Spieler für einen eigenen GUI-Hintergrund etwas herunterladen?

Ja, das Ressourcenpaket, das ItemsAdder baut. Ohne Paket zeigt der Titel ein Ersatzkästchen oder gar nichts. ItemsAdder kann das Paket beim Joinen automatisch schicken.

Warum zeigt mein DeluxeMenus-Titel %img_…% als Text?

Der Platzhalter wird nicht ersetzt. Prüf, ob PlaceholderAPI installiert und ItemsAdder geladen ist und ob der Name nach img_ genau dem Namen des Font-Images in deiner Config entspricht.

Kann ich denselben Hintergrund für Menüs mit weniger Reihen nutzen?

Nur wenn das Bild zu den Reihen passt. Eine Kiste mit drei Reihen ist niedriger als eine mit sechs, sie braucht also ein eigenes PNG und ein eigenes scale_ratio. Der GUI-Maker exportiert für jede Reihenzahl die richtige Höhe.

Geht das auch ohne ItemsAdder?

Derselbe Trick funktioniert mit Glyphen von Nexo oder Oraxen. Ganz ohne Ressourcenpaket-Plugin baust du immer noch ein sauberes Menü mit farbigen Glasscheiben, das exportiert der GUI-Maker mit der Option „Keins“.

Quellen

Geprüft mit der offiziellen Dokumentation: