Salta al contingut

Fons de GUI personalitzat a DeluxeMenus amb ItemsAdder

Minecraft no té cap opció per posar una imatge de fons en un menú i, tot i així, molts servidors tenen menús de cofre que semblen pantalles pròpies. El truc és una font image al títol del menú: ItemsAdder converteix el teu PNG en un caràcter i uns desplaçaments negatius el col·loquen sobre el cofre. Aquesta guia ho configura pas a pas per a DeluxeMenus.

Actualitzat:

Com funciona una GUI amb textura

Un menú de cofre mostra el seu títol a la cantonada superior esquerra. El títol és text, i el text pot contenir caràcters del paquet de recursos (resource pack) del servidor. ItemsAdder pot convertir qualsevol PNG en un d’aquests caràcters, anomenat font image. Si poses una font image gran al títol, el client la dibuixa a sobre de la pantalla del cofre.

Falten dues peces perquè encaixi. Un desplaçament (offset) negatiu mou el cursor cap a l’esquerra abans de la imatge, així la imatge comença a la vora esquerra del cofre i no després del sagnat del títol. La y_position de la font image la puja o l’abaixa fins que cobreix tot el menú.

Els slots continuen sent slots normals. On la teva imatge mostra un botó, el menú té un slot buit i clicable amb material: air i les seves pròpies accions en fer-hi clic.

Què necessites

  • DeluxeMenus i PlaceholderAPI en un servidor Spigot o Paper.
  • ItemsAdder, que genera el paquet de recursos i ofereix els placeholders %img_…%.
  • Una entrega del paquet de recursos que funcioni, perquè els jugadors el descarreguin de debò (ItemsAdder ofereix allotjament propi i altres opcions de hosting).
  • Un PNG de fons. Minecraft no permet glifs de font de més de 256×256 píxels, així que la imatge hi ha de cabre.

Pas 1: crea la imatge de fons

Dissenya el menú al Creador de GUI: tria les files, un tema o una plantilla i dibuixa botons grans sobre diversos slots. Tria ItemsAdder com a exportació, escriu el teu namespace (per exemple mymenus) i el nom del menú (per exemple shop).

El PNG exportat fa 256 píxels d’amplada. L’alçada depèn de les files: de 164 píxels amb una fila a 254 píxels amb sis. L’espai extra al voltant del cofre permet que marcs i decoracions sobresurtin del contorn normal del menú.

Pas 2: registra la font image a ItemsAdder

Copia el PNG al teu namespace i afegeix una entrada font_images. Això és el que exporta el Creador de GUI per a un menú de sis files:

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

La imatge va a plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio és l’alçada amb què es dibuixa la imatge. Fes servir l’alçada real en píxels del PNG perquè res no s’estiri.
  • y_position mou la imatge en vertical. ItemsAdder exigeix que sigui menor o igual que scale_ratio, perquè el joc no en permet més.
  • show_in_gui: false deixa el fons fora de la llista d’emojis d’ItemsAdder.

Pas 3: posa la imatge al títol del menú de DeluxeMenus

DeluxeMenus interpreta els placeholders de PlaceholderAPI a menu_title. ItemsAdder ofereix %img_<nom>% per a la imatge i %img_offset_<píxels>% per a espai buit, que pot ser negatiu.

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 al principi manté la imatge amb els seus colors reals. Sense això, la imatge es tenyeix amb el color del títol.
  2. %img_offset_-48% mou el cursor 48 píxels cap a l’esquerra abans de la imatge. El Creador de GUI fa servir aquest valor per al seu llenç: 8 píxels del sagnat del títol del cofre més el marge de 40 píxels que afegeix a cada costat.
  3. %img_gui_shop% és el fons en si.
  4. El segon desplaçament torna el cursor enrere, així &8Shop s’escriu a sobre de la imatge, on va un títol. El seu valor depèn de l’amplada de la teva imatge; el Creador de GUI el calcula per tu.

Si al Creador de GUI pintes el títol dins la imatge, el títol acaba després del placeholder del fons i no hi ha segon desplaçament.

Pas 4: registra el menú i regenera el paquet

DeluxeMenus només carrega els menús que apareixen al seu config.yml:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Executa /iazip perquè ItemsAdder regeneri el paquet de recursos amb la nova imatge.
  2. Executa /dm reload. Obre el menú una vegada amb /dm open shop per comprovar-ho.
  3. register_command: true registra /shop com a comanda real, però només quan el servidor arrenca. Reinicia el servidor una vegada després d’afegir un menú nou.
  4. Torna a entrar, accepta el paquet de recursos i obre el menú.

Errors comuns i solucions

Què veusCausa i solució
El títol mostra %img_gui_shop% com a textFalta PlaceholderAPI o el nom no és correcte. El placeholder fa servir el nom de la font image de la configuració, sense el namespace.
Una caixa buida o un símbol estrany en lloc de la imatgeNo s’ha regenerat el paquet o el jugador té un paquet antic. Executa /iazip i torna a entrar.
Alguns jugadors no veuen cap imatgeHan rebutjat el paquet de recursos del servidor. Revisa el hosting del paquet i la configuració del servidor al client.
La imatge està desplaçadaEl primer desplaçament o y_position no coincideixen amb els marges del teu PNG. Torna a exportar en lloc d’endevinar números.
La imatge es veu grisa o més foscaFalta &f davant de la imatge.
/shop és una comanda desconegudaNo has reiniciat el servidor després d’afegir el menú, o el menú no és a config.yml.
ItemsAdder rebutja la font imagey_position és més gran que scale_ratio, o la imatge fa més de 256×256.

Preguntes freqüents

Els jugadors han de descarregar alguna cosa per veure un fons de GUI personalitzat?

Sí, el paquet de recursos del servidor que genera ItemsAdder. Sense ell, el títol mostra un quadrat de farciment o res. ItemsAdder pot enviar el paquet automàticament quan els jugadors entren.

Per què el títol del meu menú de DeluxeMenus mostra %img_…% com a text?

El placeholder no s’està substituint. Comprova que PlaceholderAPI està instal·lat, que ItemsAdder s’ha carregat i que el nom després de img_ és exactament el nom de la font image de la teva configuració.

Puc fer servir el mateix fons en menús amb menys files?

Només si la imatge coincideix amb les files. Un cofre de tres files és més baix que un de sis, així que necessita el seu propi PNG i el seu propi scale_ratio. El Creador de GUI exporta l’alçada correcta per a cada nombre de files.

Funciona sense ItemsAdder?

El mateix truc funciona amb glifs de Nexo o Oraxen. Sense cap plugin de paquets de recursos pots crear igualment un menú net amb panells de vidre de colors, que el Creador de GUI exporta amb l’opció "Cap".

Fonts

Revisat amb la documentació oficial: