Come funziona una GUI con texture
Un menu a cassa mostra il suo titolo nell’angolo in alto a sinistra. Il titolo è testo, e il testo può contenere caratteri del resource pack del server. ItemsAdder può trasformare qualsiasi PNG in un carattere del genere, chiamato font image. Metti una font image grande nel titolo e il client la disegna sopra la schermata della cassa.
Servono altri due elementi per allineare tutto. Un offset negativo sposta il cursore a sinistra prima dell’immagine, così l’immagine parte dal bordo sinistro della cassa invece che dopo il rientro del titolo. La y_position della font image la sposta in alto o in basso finché non copre tutto il menu.
Gli slot restano slot normali. Dove la tua immagine mostra un pulsante, il menu ha uno slot vuoto e cliccabile con material: air e le sue azioni al clic.
Cosa ti serve
- DeluxeMenus e PlaceholderAPI su un server Spigot o Paper.
- ItemsAdder, che costruisce il resource pack e fornisce i placeholder
%img_…%. - Una distribuzione del resource pack funzionante, così i giocatori scaricano davvero il pack (ItemsAdder offre il self-hosting e altre opzioni di hosting).
- Un PNG di sfondo. Minecraft non permette glyph di font più grandi di 256×256 pixel, quindi l’immagine deve starci dentro.
Passo 1: crea l’immagine di sfondo
Disegna il menu nel creatore di GUI: scegli le righe, un tema o un preset, e disegna pulsanti grandi su più slot. Scegli ItemsAdder come esportazione, inserisci il tuo namespace (per esempio mymenus) e il nome del menu (per esempio shop).
Il PNG esportato è largo 256 pixel. L’altezza dipende dalle righe, da 164 pixel per una riga a 254 pixel per sei. Lo spazio in più intorno alla cassa permette a cornici e decorazioni di sporgere dal normale contorno del menu.
Passo 2: registra la font image in ItemsAdder
Copia il PNG nel tuo namespace e aggiungi una voce font_images. Ecco cosa esporta il creatore di GUI per un menu a sei righe:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45L’immagine vera e propria va in plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
scale_ratioè l’altezza con cui viene disegnata l’immagine. Usa l’altezza reale in pixel del PNG, così niente viene stirato.y_positionsposta l’immagine in verticale. ItemsAdder richiede che sia minore o uguale ascale_ratio, perché il gioco non permette di più.show_in_gui: falsetiene lo sfondo fuori dalla lista delle emoji di ItemsAdder.
Passo 3: metti l’immagine nel titolo del menu DeluxeMenus
DeluxeMenus elabora i placeholder di PlaceholderAPI in menu_title. ItemsAdder fornisce %img_<nome>% per l’immagine e %img_offset_<pixel>% per lo spazio vuoto, che può essere negativo.
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'&fall’inizio mantiene l’immagine con i suoi colori reali. Senza, l’immagine viene tinta con il colore del titolo.%img_offset_-48%sposta il cursore di 48 pixel a sinistra prima dell’immagine. Il creatore di GUI usa questo valore per la sua area di disegno: 8 pixel per il rientro del titolo della cassa più il margine di 40 pixel che aggiunge su ogni lato.%img_gui_shop%è lo sfondo stesso.- Il secondo offset riporta indietro il cursore, così
&8Shopviene scritto sopra l’immagine, dove sta di solito il titolo. Il valore dipende dalla larghezza della tua immagine; il creatore di GUI lo calcola per te.
Se nel creatore di GUI disegni il titolo direttamente nell’immagine, il titolo finisce dopo il placeholder dello sfondo e non c’è un secondo offset.
Passo 4: registra il menu e ricostruisci il pack
DeluxeMenus carica solo i menu elencati nel suo config.yml:
gui_menus:
shop:
file: shop.yml- Esegui
/iazip, così ItemsAdder ricostruisce il resource pack con la nuova immagine. - Esegui
/dm reload. Apri il menu una volta con/dm open shopper controllarlo. register_command: trueregistra/shopcome comando vero, ma solo all’avvio del server. Dopo aver aggiunto un nuovo menu, riavvia il server una volta.- Rientra, accetta il resource pack e apri il menu.
Errori comuni e soluzioni
| Cosa vedi | Causa e soluzione |
|---|---|
Il titolo mostra %img_gui_shop% come testo | Manca PlaceholderAPI, oppure il nome è sbagliato. Il placeholder usa il nome della font image dalla config, senza namespace. |
| Un riquadro vuoto o un simbolo sbagliato al posto dell’immagine | Il pack non è stato ricostruito, oppure il giocatore ha un pack vecchio. Esegui /iazip e rientra. |
| Alcuni giocatori non vedono nessuna immagine | Hanno rifiutato il resource pack del server. Controlla l’hosting del pack e le impostazioni del server nel client. |
| L’immagine è spostata | Il primo offset o y_position non corrisponde ai margini del tuo PNG. Esporta di nuovo invece di andare a tentativi con i numeri. |
| L’immagine è grigia o più scura | Manca &f davanti all’immagine. |
/shop è un comando sconosciuto | Il server non è stato riavviato dopo aver aggiunto il menu, oppure il menu manca in config.yml. |
| ItemsAdder rifiuta la font image | y_position è più grande di scale_ratio, oppure l’immagine supera 256×256. |