Saltar al contenido

Fondo de GUI personalizado en DeluxeMenus con ItemsAdder

Minecraft no tiene ninguna opción para poner una imagen de fondo en un menú y, aun así, muchos servidores tienen menús de cofre que parecen pantallas propias. El truco es una font image en el título del menú: ItemsAdder convierte tu PNG en un carácter y unos desplazamientos negativos lo colocan sobre el cofre. Esta guía lo configura paso a paso para DeluxeMenus.

Actualizado:

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:

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 imagen va en plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio es la altura con la que se dibuja la imagen. Usa la altura real en píxeles del PNG para que nada se estire.
  • y_position mueve la imagen en vertical. ItemsAdder exige que sea menor o igual que scale_ratio, porque el juego no permite más.
  • show_in_gui: false deja 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.

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 principio mantiene la imagen con sus colores reales. Sin él, la imagen se tiñe con el color del título.
  2. %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.
  3. %img_gui_shop% es el fondo en sí.
  4. El segundo desplazamiento devuelve el cursor, así &8Shop se 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:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Ejecuta /iazip para que ItemsAdder regenere el paquete de recursos con la nueva imagen.
  2. Ejecuta /dm reload. Abre el menú una vez con /dm open shop para comprobarlo.
  3. register_command: true registra /shop como un comando real, pero solo al arrancar el servidor. Reinicia el servidor una vez después de añadir un menú nuevo.
  4. Vuelve a entrar, acepta el paquete de recursos y abre el menú.

Errores comunes y soluciones

Lo que vesCausa y solución
El título muestra %img_gui_shop% como textoFalta 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 imagenNo se regeneró el paquete o el jugador tiene un paquete antiguo. Ejecuta /iazip y vuelve a entrar.
Algunos jugadores no ven ninguna imagenRechazaron el paquete de recursos del servidor. Revisa el hosting del paquete y los ajustes del servidor en el cliente.
La imagen está desplazadaEl 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 oscuraFalta &f delante de la imagen.
/shop es un comando desconocidoNo reiniciaste el servidor después de añadir el menú, o el menú no está en config.yml.
ItemsAdder rechaza la font imagey_position es mayor que scale_ratio, o la imagen mide más de 256×256.

Preguntas frecuentes

¿Los jugadores tienen que descargar algo para ver un fondo de GUI personalizado?

Sí, el paquete de recursos del servidor que genera ItemsAdder. Sin él, el título muestra un cuadrado de relleno o nada. ItemsAdder puede enviar el paquete automáticamente cuando los jugadores entran.

¿Por qué el título de mi menú de DeluxeMenus muestra %img_…% como texto?

El placeholder no se está reemplazando. Comprueba que PlaceholderAPI está instalado, que ItemsAdder ha cargado y que el nombre después de img_ es exactamente el nombre de la font image de tu configuración.

¿Puedo usar el mismo fondo en menús con menos filas?

Solo si la imagen coincide con las filas. Un cofre de tres filas es más bajo que uno de seis, así que necesita su propio PNG y su propio scale_ratio. El Creador de GUI exporta la altura correcta para cada número de filas.

¿Funciona sin ItemsAdder?

El mismo truco funciona con glifos de Nexo u Oraxen. Sin ningún plugin de paquetes de recursos puedes crear igualmente un menú limpio con paneles de cristal de colores, que el Creador de GUI exporta con la opción "Ninguno".

Fuentes

Revisado con la documentación oficial: