Wie eine Glyphe zum Menü-Hintergrund wird
Ein Kistenmenü schreibt seinen Titel oben links, und dieser Titel darf Zeichen aus dem Ressourcenpaket des Servers enthalten. Eine Glyphe ist genau so ein Zeichen, gezeichnet aus deinem PNG. Steht eine große Glyphe im Titel, malt der Client sie über das ganze Kistenmenü.
Zwei Werte bestimmen die Position. Ein negativer Shift schiebt den Cursor vor der Glyphe nach links, damit das Bild am Rand der Kiste beginnt und nicht beim Einzug des Titels. Mit ascent schiebst du die Glyphe senkrecht, bis sie das Menü bedeckt. Die Slots bleiben echte Slots: Wo das Bild einen Knopf zeigt, liegt ein leerer Slot mit material: air, der trotzdem Klick-Aktionen ausführt.
Nutzt du ItemsAdder, lies besser die ItemsAdder-Fassung dieser Anleitung. Die Idee ist dieselbe, nur Config und Platzhalter heißen anders.
Was du brauchst
- DeluxeMenus und PlaceholderAPI auf deinem Server. DeluxeMenus wertet PlaceholderAPI-Platzhalter in
menu_titleaus. - Nexo oder Oraxen, die das Ressourcenpaket bauen und die Platzhalter für Glyphen und Shifts liefern.
- Für Oraxen: Laut Doku funktionieren Glyphen in Inventartiteln ab Paper 1.21.2 direkt. Ältere Server brauchen PacketEvents.
- Ein Hintergrund-PNG mit höchstens 256×256 Pixeln. Größere Texturen sind für eine einzelne Glyphe nicht erlaubt.
Schritt 1: Den Hintergrund gestalten
Bau das Menü im GUI-Maker: Reihen festlegen, eine Vorlage oder ein Theme wählen und große Knöpfe über mehrere Slots ziehen. Wähl beim Export Nexo oder Oraxen, gib einen Namespace an (zum Beispiel mymenus) und einen Menünamen (zum Beispiel shop).
Das PNG ist 256 Pixel breit und zwischen 164 Pixel (eine Reihe) und 254 Pixel (sechs Reihen) hoch. Der Rand um die Kiste gibt Rahmen Platz, über den normalen Menüumriss hinauszuragen.
Schritt 2a: Die Nexo-Glyphe einrichten
Nexo liest Glyphen aus jeder YAML-Datei in seinem Glyphen-Ordner. Die Textur schreibst du als namespace:pfad, hier das PNG unter plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heightist die gezeichnete Höhe. Nimm die echte Pixelhöhe des PNG.ascentschiebt die Glyphe nach oben. Laut Nexo darfheightnie kleiner alsascentsein.- Die Platzhalter heißen
%nexo_gui_shop%für die Glyphe und%nexo_shift_<pixel>%für Leerraum, der auch negativ sein darf.
Schritt 2b: Die Oraxen-Glyphe einrichten
Oraxen liest Glyphen aus plugins/Oraxen/glyphs/. Der Texturpfad ist relativ zu pack/textures/, das PNG liegt also unter plugins/Oraxen/pack/textures/gui/shop.png:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen verlangt, dass
heightgrößer oder gleichascentist; Minecraft erzwingt das. - Der Platzhalter der Glyphe ist
%oraxen_gui_shop%. Für Shifts gibt es zwei:%oraxen_shift_<pixel>%schiebt nach rechts,%oraxen_neg_shift_<pixel>%nach links, jeweils bis 2047 Pixel. - Mit dem Schlüssel
charkannst du das Zeichen selbst festlegen, nötig ist das nicht.
Schritt 4: Menü registrieren und neu laden
gui_menus:
shop:
file: shop.yml- Bau das Paket neu:
/nexo reload(oder/nexo reload pack) bei Nexo,/oraxen reload allbei Oraxen. - Führ
/dm reloadaus und teste mit/dm open shop. - Starte den Server einmal neu. DeluxeMenus registriert
/shopausregister_command: truenur beim Start. - Join neu, damit du das neue Ressourcenpaket bekommst.
Typische Fehler und Lösungen
| Was du siehst | Ursache und Lösung |
|---|---|
%nexo_gui_shop% oder %oraxen_gui_shop% als Text | PlaceholderAPI fehlt, oder die Glyphen-ID im Platzhalter passt nicht zum Schlüssel in der Glyphen-Datei. |
| Ein leeres Kästchen oder ein falsches Zeichen | Das Paket wurde nicht neu gebaut, oder der Spieler hat noch das alte. Plugin neu laden und neu joinen. |
| Oraxen-Glyphe fehlt nur in Menütiteln | Der Server ist älter als Paper 1.21.2, und PacketEvents ist nicht installiert. |
| Das Bild ist verschoben | Shift oder ascent passt nicht zum PNG. Aus demselben Design neu exportieren. |
| Das Bild ist dunkler als das PNG | Vor dem ersten Platzhalter fehlt &f. |
| Die Glyphe wird beim Laden abgelehnt | ascent ist größer als height, oder das PNG ist größer als 256×256. |
/shop macht nichts | Das Menü fehlt in der config.yml, oder der Server wurde nach dem Eintragen nicht neu gestartet. |