Cómo funciona una GUI con textura
Un menú de cofre muestra su título en la esquina superior izquierda. El título es texto, y el texto puede contener caracteres del paquete de recursos del servidor. ItemsAdder puede convertir cualquier PNG en uno de esos caracteres, llamado font image. Si pones una font image grande en el título, el cliente la dibuja encima de la pantalla del cofre.
Faltan dos piezas para que encaje. Un desplazamiento (offset) negativo mueve el cursor a la izquierda antes de la imagen, así la imagen empieza en el borde izquierdo del cofre y no después de la sangría del título. La y_position de la font image la sube o la baja hasta que cubre todo el menú.
Los slots siguen siendo slots normales. Donde tu imagen muestra un botón, el menú tiene un slot vacío y clicable con material: air y sus propias acciones al hacer clic.
Qué necesitas
- DeluxeMenus y PlaceholderAPI en un servidor Spigot o Paper.
- ItemsAdder, que genera el paquete de recursos y ofrece los placeholders
%img_…%. - Una entrega del paquete de recursos que funcione, para que los jugadores lo descarguen de verdad (ItemsAdder ofrece alojamiento propio y otras opciones de hosting).
- Un PNG de fondo. Minecraft no permite glifos de fuente de más de 256×256 píxeles, así que la imagen tiene que caber en ese tamaño.
Paso 1: Crea la imagen de fondo
Diseña el menú en el Creador de GUI: elige las filas, un tema o una plantilla y dibuja botones grandes sobre varios slots. Elige ItemsAdder como exportación, escribe tu namespace (por ejemplo mymenus) y el nombre del menú (por ejemplo shop).
El PNG exportado mide 256 píxeles de ancho. El alto depende de las filas: de 164 píxeles con una fila a 254 píxeles con seis. El espacio extra alrededor del cofre permite que marcos y adornos sobresalgan del contorno normal del menú.
Paso 2: Registra la font image en ItemsAdder
Copia el PNG en tu namespace y añade una entrada font_images. Esto es lo que exporta el Creador de GUI para un menú de seis filas:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45La imagen va en plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
scale_ratioes la altura con la que se dibuja la imagen. Usa la altura real en píxeles del PNG para que nada se estire.y_positionmueve la imagen en vertical. ItemsAdder exige que sea menor o igual quescale_ratio, porque el juego no permite más.show_in_gui: falsedeja el fondo fuera de la lista de emojis de ItemsAdder.
Paso 3: Pon la imagen en el título del menú de DeluxeMenus
DeluxeMenus interpreta los placeholders de PlaceholderAPI en menu_title. ItemsAdder ofrece %img_<nombre>% para la imagen y %img_offset_<píxeles>% para espacio vacío, que puede ser 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'&fal principio mantiene la imagen con sus colores reales. Sin él, la imagen se tiñe con el color del título.%img_offset_-48%mueve el cursor 48 píxeles a la izquierda antes de la imagen. El Creador de GUI usa este valor para su lienzo: 8 píxeles de la sangría del título del cofre más el margen de 40 píxeles que añade a cada lado.%img_gui_shop%es el fondo en sí.- El segundo desplazamiento devuelve el cursor, así
&8Shopse escribe encima de la imagen, donde va un título. Su valor depende del ancho de tu imagen; el Creador de GUI lo calcula por ti.
Si en el Creador de GUI pintas el título en la imagen, el título termina después del placeholder del fondo y no hay segundo desplazamiento.
Paso 4: Registra el menú y regenera el paquete
DeluxeMenus solo carga los menús que aparecen en su config.yml:
gui_menus:
shop:
file: shop.yml- Ejecuta
/iazippara que ItemsAdder regenere el paquete de recursos con la nueva imagen. - Ejecuta
/dm reload. Abre el menú una vez con/dm open shoppara comprobarlo. register_command: trueregistra/shopcomo un comando real, pero solo al arrancar el servidor. Reinicia el servidor una vez después de añadir un menú nuevo.- Vuelve a entrar, acepta el paquete de recursos y abre el menú.
Errores comunes y soluciones
| Lo que ves | Causa y solución |
|---|---|
El título muestra %img_gui_shop% como texto | Falta PlaceholderAPI o el nombre está mal. El placeholder usa el nombre de la font image de la configuración, sin el namespace. |
| Una caja vacía o un símbolo raro en lugar de la imagen | No se regeneró el paquete o el jugador tiene un paquete antiguo. Ejecuta /iazip y vuelve a entrar. |
| Algunos jugadores no ven ninguna imagen | Rechazaron el paquete de recursos del servidor. Revisa el hosting del paquete y los ajustes del servidor en el cliente. |
| La imagen está desplazada | El primer desplazamiento o y_position no coinciden con los márgenes de tu PNG. Exporta de nuevo en lugar de adivinar números. |
| La imagen se ve gris o más oscura | Falta &f delante de la imagen. |
/shop es un comando desconocido | No reiniciaste el servidor después de añadir el menú, o el menú no está en config.yml. |
| ItemsAdder rechaza la font image | y_position es mayor que scale_ratio, o la imagen mide más de 256×256. |