Cómo un glifo se convierte en fondo de menú
Un menú de cofre escribe su título en la esquina superior izquierda, y ese título puede contener caracteres del paquete de recursos del servidor. Un glifo es uno de esos caracteres, dibujado a partir de tu PNG. Si pones un glifo grande en el título, el cliente lo pinta sobre toda la pantalla del cofre.
Dos valores lo colocan. Un shift negativo mueve el cursor a la izquierda antes del glifo, así la imagen empieza en el borde del cofre y no en la sangría del título. El ascent del glifo lo mueve en vertical hasta que cubre el menú. Los slots siguen siendo slots reales: donde la imagen muestra un botón, el menú tiene un slot vacío con material: air que sigue ejecutando acciones al hacer clic.
Si usas ItemsAdder, lee la versión de esta guía para ItemsAdder. La idea es la misma; solo cambian la configuración y los nombres de los placeholders.
Qué necesitas
- DeluxeMenus y PlaceholderAPI en tu servidor. DeluxeMenus interpreta los placeholders de PlaceholderAPI en
menu_title. - Nexo u Oraxen, que generan el paquete de recursos y ofrecen los placeholders de glifos y de shift.
- Para Oraxen: según su documentación, los glifos en títulos de inventario funcionan de forma nativa en Paper 1.21.2 o superior. Los servidores más antiguos necesitan PacketEvents.
- Un PNG de fondo de 256×256 píxeles como máximo. Un solo glifo no admite texturas más grandes.
Paso 1: Diseña el fondo
Crea el menú en el Creador de GUI: elige las filas, una plantilla o un tema y dibuja botones grandes sobre varios slots. En la exportación elige Nexo u Oraxen, pon un namespace (por ejemplo mymenus) y un nombre de menú (por ejemplo shop).
El PNG mide 256 píxeles de ancho y entre 164 píxeles (una fila) y 254 píxeles (seis filas) de alto. El margen alrededor del cofre deja sitio para que los marcos sobresalgan del contorno normal del menú.
Paso 2a: Configuración del glifo en Nexo
Nexo lee los glifos de cualquier archivo YAML de su carpeta de glifos. La textura se escribe como namespace:ruta, aquí el PNG en plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:
gui_shop:
texture: mymenus:gui/shop
ascent: 45
height: 254heightes la altura con la que se dibuja. Usa la altura real en píxeles del PNG.ascentsube el glifo. Nexo indica que la altura nunca debe ser menor que el ascent.- Los placeholders son
%nexo_gui_shop%para el glifo y%nexo_shift_<píxeles>%para el espacio, que puede ser negativo.
Paso 2b: Configuración del glifo en Oraxen
Oraxen lee los glifos de plugins/Oraxen/glyphs/. Su ruta de textura es relativa a pack/textures/, así que el PNG va en plugins/Oraxen/pack/textures/gui/shop.png:
gui_shop:
texture: gui/shop
ascent: 45
height: 254- Oraxen exige que
heightsea mayor o igual queascent; Minecraft lo impone. - El placeholder del glifo es
%oraxen_gui_shop%. Los desplazamientos tienen dos placeholders:%oraxen_shift_<píxeles>%mueve a la derecha y%oraxen_neg_shift_<píxeles>%a la izquierda. Cada uno admite hasta 2047 píxeles. - Existe una clave
charpara elegir tú el carácter, pero es opcional.
Paso 4: Registra el menú y recarga
gui_menus:
shop:
file: shop.yml- Regenera el paquete:
/nexo reload(o/nexo reload pack) en Nexo y/oraxen reload allen Oraxen. - Ejecuta
/dm reloady pruébalo con/dm open shop. - Reinicia el servidor una vez. DeluxeMenus registra
/shopa partir deregister_command: truesolo al arrancar. - Vuelve a entrar para recibir el paquete de recursos nuevo.
Errores comunes y soluciones
| Lo que ves | Causa y solución |
|---|---|
%nexo_gui_shop% o %oraxen_gui_shop% como texto | Falta PlaceholderAPI, o el ID del glifo en el placeholder no coincide con la clave del archivo del glifo. |
| Una caja vacía o un símbolo raro | No se regeneró el paquete o el jugador tiene el antiguo. Recarga el plugin y vuelve a entrar. |
| El glifo de Oraxen solo falta en los títulos de menú | El servidor es anterior a Paper 1.21.2 y PacketEvents no está instalado. |
| La imagen está desplazada | El shift o el ascent no coinciden con el PNG. Exporta de nuevo desde el mismo diseño. |
| La imagen se ve más oscura que el PNG | Falta &f antes del primer placeholder. |
| El glifo se rechaza al cargar | ascent es mayor que height, o el PNG mide más de 256×256. |
/shop no hace nada | El menú no está en config.yml, o no reiniciaste el servidor después de añadirlo. |