Comment un glyphe devient un fond de menu
Un menu de coffre affiche son titre en haut à gauche, et ce titre peut contenir des caractères issus du resource pack du serveur. Un glyphe est un tel caractère, dessiné à partir de ton PNG. Place un grand glyphe dans le titre et le client le peint par-dessus tout l’écran du coffre.
Deux valeurs le positionnent. Un shift négatif déplace le curseur vers la gauche avant le glyphe, pour que l’image commence au bord du coffre et non au retrait du titre. L’ascent du glyphe le déplace verticalement jusqu’à ce qu’il couvre le menu. Les slots restent de vrais slots : là où l’image montre un bouton, le menu a un slot vide avec material: air qui exécute quand même des actions de clic.
Si tu utilises plutôt ItemsAdder, lis la version ItemsAdder de ce guide. Le principe est le même, seuls la config et les noms des placeholders changent.
Ce qu’il te faut
- DeluxeMenus et PlaceholderAPI sur ton serveur. DeluxeMenus interprète les placeholders PlaceholderAPI dans
menu_title. - Nexo ou Oraxen, qui génèrent le resource pack et fournissent les placeholders de glyphe et de shift.
- Pour Oraxen : les glyphes dans les titres d’inventaire fonctionnent nativement sur Paper 1.21.2 ou plus récent. Les serveurs plus anciens ont besoin de PacketEvents, selon la doc d’Oraxen.
- Un PNG de fond de 256×256 pixels maximum. Les textures plus grandes ne sont pas autorisées pour un seul glyphe.
Étape 1 : conçois le fond
Crée le menu dans le GUI Maker : choisis le nombre de lignes, un preset ou un thème, et dessine de grands boutons sur plusieurs slots. Dans l’export, choisis Nexo ou Oraxen, définis un namespace (par exemple mymenus) et un nom de menu (par exemple shop).
Le PNG fait 256 pixels de large et entre 164 pixels (une ligne) et 254 pixels (six lignes) de haut. La marge autour du coffre laisse aux cadres la place de dépasser du contour normal du menu.
Étape 2a : config du glyphe pour Nexo
Nexo lit les glyphes depuis n’importe quel fichier YAML de son dossier glyphs. La texture s’écrit namespace:path, ici le PNG situé dans plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png :
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heightest la hauteur dessinée. Utilise la vraie hauteur en pixels du PNG.ascentdéplace le glyphe vers le haut. Selon Nexo, la hauteur ne doit jamais être inférieure à l’ascent.- Les placeholders sont
%nexo_gui_shop%pour le glyphe et%nexo_shift_<pixels>%pour l’espace, qui peut être négatif.
Étape 2b : config du glyphe pour Oraxen
Oraxen lit les glyphes depuis plugins/Oraxen/glyphs/. Son chemin de texture est relatif à pack/textures/, donc le PNG va dans plugins/Oraxen/pack/textures/gui/shop.png :
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen exige que
heightsoit supérieur ou égal àascent; c’est Minecraft qui l’impose. - Le placeholder du glyphe est
%oraxen_gui_shop%. Les shifts ont deux placeholders :%oraxen_shift_<pixels>%déplace vers la droite,%oraxen_neg_shift_<pixels>%vers la gauche. Chacun gère jusqu’à 2047 pixels. - Une clé
charpermet de choisir le caractère toi-même, mais elle est facultative.
Étape 4 : enregistre le menu et recharge
gui_menus:
shop:
file: shop.yml- Régénère le pack :
/nexo reload(ou/nexo reload pack) pour Nexo,/oraxen reload allpour Oraxen. - Lance
/dm reloadet teste avec/dm open shop. - Redémarre le serveur une fois. DeluxeMenus n’enregistre
/shopviaregister_command: truequ’au démarrage. - Reconnecte-toi pour recevoir le nouveau resource pack.
Erreurs fréquentes et solutions
| Ce que tu vois | Cause et solution |
|---|---|
%nexo_gui_shop% ou %oraxen_gui_shop% en texte | PlaceholderAPI manque, ou l’ID du glyphe dans le placeholder ne correspond pas à la clé du fichier de glyphe. |
| Une case vide ou un mauvais symbole | Le pack n’a pas été régénéré ou le joueur a l’ancien pack. Recharge le plugin et reconnecte-toi. |
| Glyphe Oraxen absent uniquement dans les titres de menu | Le serveur est plus ancien que Paper 1.21.2 et PacketEvents n’est pas installé. |
| L’image est décalée | Le shift ou l’ascent ne correspond pas au PNG. Exporte à nouveau depuis le même design. |
| L’image est plus sombre que le PNG | Il manque &f avant le premier placeholder. |
| Le glyphe est refusé au chargement | ascent est plus grand que height, ou le PNG dépasse 256×256. |
/shop ne fait rien | Le menu n’est pas dans config.yml, ou le serveur n’a pas été redémarré après son ajout. |