Hoppa till innehållet

GUI-bakgrund i DeluxeMenus med Nexo eller Oraxen

Egna menyskärmar i Minecraft är ett trick: bakgrundsbilden är ett enda tecken i menytiteln. Nexo och Oraxen kallar sådana tecken för glyphs. Den här guiden visar glyph-configen för båda pluginen, shift-placeholders som flyttar bilden på plats och hur du kopplar ihop allt med DeluxeMenus.

Uppdaterad:

Så blir en glyph en menybakgrund

En kistmeny skriver ut sin titel i det övre vänstra hörnet, och titeln kan innehålla tecken från serverns resource pack. En glyph är ett sådant tecken, ritat utifrån din PNG. Lägg en stor glyph i titeln så målar klienten den över hela kistskärmen.

Två värden placerar den. En negativ shift flyttar markören åt vänster före glyphen, så att bilden börjar vid kistans kant och inte vid titelns indrag. Glyphens ascent flyttar den vertikalt tills den täcker menyn. Slots förblir riktiga slots: där bilden visar en knapp har menyn en tom slot med material: air som ändå kör klickactions.

Använder du ItemsAdder i stället, läs ItemsAdder-versionen av den här guiden. Idén är densamma, bara configen och namnen på placeholders skiljer sig.

Det här behöver du

  • DeluxeMenus och PlaceholderAPI på din server. DeluxeMenus tolkar PlaceholderAPI-placeholders i menu_title.
  • Nexo eller Oraxen, som bygger resource packet och ger dig placeholders för glyphs och shifts.
  • För Oraxen: glyphs i inventorytitlar fungerar direkt på Paper 1.21.2 eller nyare. Äldre servrar behöver PacketEvents, enligt Oraxens dokumentation.
  • En bakgrunds-PNG på högst 256×256 pixlar. Större texturer är inte tillåtna för en enskild glyph.

Steg 1: Designa bakgrunden

Bygg menyn i GUI-skaparen: välj antal rader, en förinställning eller ett tema och rita stora knappar över flera slots. Under export väljer du Nexo eller Oraxen och anger ett namespace (till exempel mymenus) och ett menynamn (till exempel shop).

PNG:en är 256 pixlar bred och mellan 164 pixlar (en rad) och 254 pixlar (sex rader) hög. Marginalen runt kistan ger ramar plats att sticka ut utanför menyns vanliga kontur.

Steg 2a: Glyph-config för Nexo

Nexo läser glyphs från alla YAML-filer i sin glyphs-mapp. Texturen skrivs som namespace:path, här PNG:en i plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:

plugins/Nexo/glyphs/gui_shop.yml
gui_shop:
  texture: mymenus:gui/shop
  ascent: 45
  height: 254
  • height är höjden som ritas. Använd PNG:ens verkliga höjd i pixlar.
  • ascent flyttar glyphen uppåt. Enligt Nexo får höjden aldrig vara lägre än ascent.
  • Placeholders är %nexo_gui_shop% för glyphen och %nexo_shift_<pixels>% för mellanrum, som får vara negativt.

Steg 2b: Glyph-config för Oraxen

Oraxen läser glyphs från plugins/Oraxen/glyphs/. Dess texturväg är relativ till pack/textures/, så PNG:en läggs i plugins/Oraxen/pack/textures/gui/shop.png:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • Oraxen kräver att height är större än eller lika med ascent; det är Minecraft som tvingar fram det.
  • Glyphens placeholder är %oraxen_gui_shop%. Shifts har två placeholders: %oraxen_shift_<pixels>% flyttar åt höger, %oraxen_neg_shift_<pixels>% flyttar åt vänster. Båda klarar upp till 2047 pixlar.
  • Det finns en char-nyckel för att välja tecknet själv, men den är valfri.

Steg 3: DeluxeMenus-menyns titel

Titeln kombinerar färg, en shift åt vänster, glyphen, en shift tillbaka och titeltexten. För Nexo:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%nexo_shift_-48%%nexo_gui_shop%%nexo_shift_-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'

För Oraxen ändras bara titeln, eftersom shifts åt vänster har en egen placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. &f behåller bildens egna färger i stället för att tona den med titelns färg.
  2. Den första shiften flyttar markören 48 pixlar åt vänster: GUI-skaparen räknar 8 pixlar för kisttitelns indrag plus marginalen på 40 pixlar på sin duk.
  3. Den andra shiften tar tillbaka markören så att &8Shop hamnar på bilden. Värdet beror på bildens bredd; GUI-skaparen räknar ut det.

Nexo och Oraxen har också MiniMessage-taggar som <glyph:gui_shop> och <shift:-48>. GUI-skaparen skriver %…%-formen, eftersom DeluxeMenus dokumenterar PlaceholderAPI-placeholders för menu_title.

Steg 4: Registrera menyn och ladda om

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Bygg om packet: /nexo reload (eller /nexo reload pack) för Nexo, /oraxen reload all för Oraxen.
  2. Kör /dm reload och testa med /dm open shop.
  3. Starta om servern en gång. DeluxeMenus registrerar /shop från register_command: true bara vid start.
  4. Joina igen så att du får det nya resource packet.

Vanliga fel och lösningar

Det här ser duOrsak och lösning
%nexo_gui_shop% eller %oraxen_gui_shop% som textPlaceholderAPI saknas, eller så matchar inte glyph-ID:t i placeholdern nyckeln i glyph-filen.
En tom ruta eller fel symbolPacket har inte byggts om eller så har spelaren det gamla packet. Ladda om pluginet och joina igen.
Oraxen-glyphen saknas bara i menytitlarServern är äldre än Paper 1.21.2 och PacketEvents är inte installerat.
Bilden är förskjutenShift eller ascent stämmer inte med PNG:en. Exportera igen från samma design.
Bilden är mörkare än PNG:en&f saknas före den första placeholdern.
Glyphen avvisas vid laddningascent är högre än height, eller så är PNG:en större än 256×256.
/shop gör ingentingMenyn står inte i config.yml, eller så startades servern inte om efter att den lades till.

Vanliga frågor

Är inställningen olika för Nexo och Oraxen?

Bara i detaljerna. Nexo skriver texturen som namespace:path och använder %nexo_shift_N% med negativa tal. Oraxen tar en väg relativ till pack/textures/ och har %oraxen_neg_shift_N% för att flytta åt vänster.

Varför visas inte min glyph i DeluxeMenus-titeln?

Oftast ersätts inte placeholdern (PlaceholderAPI saknas eller fel glyph-ID), resource packet har inte byggts om, eller så har spelaren inte laddat det nya packet. Med Oraxen på servrar äldre än Paper 1.21.2 behövs PacketEvents för titlar.

Vilket reload-kommando behöver jag?

För Nexo /nexo reload, som laddar om allt, eller /nexo reload pack för bara packet. För Oraxen /oraxen reload all. Sedan /dm reload för menyfilen.

Kan jag använda en textur större än 256×256 pixlar?

Inte som en enda glyph. Minecraft begränsar glyphs till 256×256 pixlar. En menybakgrund från GUI-skaparen håller sig inom den gränsen för alla antal rader.

Källor

Kontrollerat mot den officiella dokumentationen: