Personalización¶
Todo el aspecto de las pantallas y del HUD sale de un recurso normal, assets/questmod/theme.json. Cualquier resource pack (incluido el del servidor) puede sobrescribirlo, y basta con poner solo las claves que quieras cambiar: los packs se apilan y lo que falte usa el tema por defecto. Se recarga con F3 + T.
Pack de ejemplo
En el repositorio, docs/ejemplo_tema/ es un resource pack completo (madera y dorado) con texturas listas para copiar y modificar.
Colores y medidas¶
colors usa RRGGBB (opaco) o AARRGGBB. layout son medidas en píxeles (panel_width, list_width, hud_max_width...). Las claves y sus valores por defecto están en la Referencia.
{
"colors": { "title": "55FFFF", "btn_accept": "AA00AA", "panel": "F00A0A2A" },
"layout": { "panel_width": 420 }
}
Texturas (skins)¶
Cada elemento puede tener una textura opcional. Si no la tiene, se dibuja con su color de siempre.
"skins": {
"button": {
"texture": "mipack:textures/gui/boton.png",
"width": 24, "height": 20,
"border": 3,
"hover": { "v": 20 },
"disabled": { "v": 40 }
}
}
| Campo | Descripción |
|---|---|
texture |
La imagen. Es lo único obligatorio (el tamaño se detecta solo) |
u, v, width, height |
Qué parte de la imagen usar (por defecto, toda). Permite varios estados en una hoja |
border |
Grosor del borde para 9-slice: las esquinas no se deforman y el resto se estira, así un PNG pequeño sirve para cualquier tamaño |
hover, disabled, selected |
Variantes por estado. Heredan lo del skin y solo cambian lo que indiques (casi siempre v) |
Poner "clave": null quita la textura que haya puesto un pack anterior.
Elementos¶
| Elemento | Dónde se usa | Estados |
|---|---|---|
panel |
Fondo de las pantallas | normal |
picker |
Fondo del selector de ítems | normal |
button |
Todos los botones | normal, hover, disabled |
button_accept, button_claim, button_edit, button_delete, button_confirm, button_neutral |
Botones por rol (si falta, usa button) |
normal, hover |
entry |
Filas de la lista de misiones y del selector | normal, hover, selected |
section |
Celdas de la tira de secciones | normal, hover, selected |
tab |
Pestañas Disponibles / En curso / Hechas (con textura se oculta el subrayado) | normal, hover, selected |
slot |
Cuadritos de ítem y celdas del selector | normal, selected (activo) |
checkbox |
Casillas de las listas | normal, selected (marcada) |
list_bg |
Fondo de las listas con casillas | normal |
bar_bg, bar_fill, bar_done |
Barras de progreso | normal |
scroll |
Barras de desplazamiento | normal |
hud_box, hud_step |
Recuadros del HUD (misión y paso) | normal |
Consejos
- Haz las texturas pequeñas y usa
borderpara que escalen bien. - Una hoja con los tres estados apilados (normal, hover, disabled) se indica con
"hover": {"v": 20},"disabled": {"v": 40}. - La franja de color de estado de las filas se ajusta con
layout.entry_stripe(0 la oculta). - Los errores de un skin (imagen que no existe, JSON mal) no rompen nada: se avisa en el log y se usa el color.
Íconos de sección como imagen¶
El ícono de una sección puede ser una imagen en vez de un ítem: escribe la ruta del PNG (mipack:textures/gui/seccion/create.png) en el campo del ícono. Se escala a 16×16.
Otras texturas¶
- Marcador de los NPC:
textures/gui/npc_marker_new.pngynpc_marker_claim.png. - Ítems y NPC:
textures/item/quest_scroll.png,quest_book.pngytextures/entity/quest_npc.png.
Compatibilidad¶
El formato antiguo panel_texture (una imagen completa estirada) sigue funcionando.