Ocultar y redimensionar elementos de la interfaz (HUD) con un paquete de recursos
La barra de acceso rápido, la mira y la barra de experiencia residen en un solo atlas de texturas. Aquí te explicamos cómo hacer que partes de ella sean invisibles, qué no se puede mover y el truco de la fuente para texto personalizado en la interfaz.
No existe una configuración para ocultar la barra de acceso rápido. Lo que sí hay es una textura, y hacer una parte de ella transparente la elimina visualmente mientras todo sigue funcionando.
Todo está en un solo archivo
assets/minecraft/textures/gui/sprites/hud/
Las versiones modernas dividen el antiguo atlas widgets.png en sprites individuales: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png, y así sucesivamente. Reemplazar cualquiera con un PNG completamente transparente de las mismas dimensiones lo oculta.
Las mismas dimensiones importan. Un PNG transparente de 1×1 donde se esperaba una barra de acceso rápido de 182×22 se estira en lugar de desaparecer, produciendo una banda borrosa.
Lo que puedes y no puedes hacer
Puedes:
- ocultar cualquier elemento haciendo su sprite transparente
- rediseñar todo: diferentes corazones, una mira minimalista, una barra de acceso rápido temática
- cambiar el tamaño aparente dibujando contenido más pequeño dentro de un lienzo del mismo tamaño
No puedes:
- mover un elemento. Las posiciones están codificadas; solo el arte es un dato.
- ocultar las ranuras de la barra de acceso rápido independientemente del marco; son un solo sprite.
- cambiar lo que hace una ranura. Esto es solo cosmético, y el objeto sigue siendo seleccionable.
Este último punto merece ser dicho claramente: una barra de acceso rápido oculta sigue siendo una barra de acceso rápido. Esto no es una restricción de inventario, y un Jugador aún puede usar las ranuras.
La trampa de los nueve segmentos
Varios sprites de la interfaz (HUD) están divididos en nueve segmentos (nine-sliced): las esquinas fijas, los bordes estirados. Un archivo .mcmeta junto al PNG declara los bordes:
{ "gui": { "scaling": { "type": "nine_slice", "width": 200, "height": 20,
"border": { "left": 2, "top": 2, "right": 2, "bottom": 2 } } } }
Reemplazar un sprite de este tipo sin que coincida con el mcmeta hará que se estire incorrectamente. Copia el archivo .mcmeta original junto a tu PNG si tienes dudas.
Texto personalizado en la interfaz (HUD) mediante fuentes
El truco realmente potente: define un proveedor de fuentes cuyos glifos sean imágenes, luego imprime esos caracteres con /title o una barra de jefe. El texto se renderiza como tu arte.
assets/<namespace>/font/default.json
{ "providers": [
{ "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
"chars": [""] }
] }
Usa puntos de código de uso privado ( en adelante) para que nada colisione con texto real. Luego, /title @a actionbar {"text":""} dibuja tu imagen en la barra de acción.
Así es como los servidores muestran barras de salud personalizadas, iconos de moneda y medidores de progreso sin ningún mod en el cliente, solo un paquete de recursos.
Fuentes de espacio negativo
Define un glifo con un valor advances negativo y podrás mover el cursor hacia atrás, superponiendo imágenes unas sobre otras. Esa es la técnica detrás de las interfaces de los servidores que parecen interfaces adecuadas. Es complicado, y es la única forma de posicionar cualquier cosa.
Oculta o rediseña elementos de la interfaz (HUD) y crea proveedores de fuentes con los puntos de código asignados para ti en el Personalizador de HUD y Creador de Paquetes de Fuentes.