config.yml
Referencia completa del archivo de configuración principal de EventUI. Controla el modo de UI, comportamiento de eventos, mensajes al chat y opciones de debug.
plugins/EventUI/config.yml — Usa /ev reload para aplicar cambios sin reiniciar el servidor.
Archivo completo de referencia
ui:
mode: "custom" # "hardcoded" | "custom"
custom:
screenId: "main-menu" # ID del archivo en /uis/ (sin .yml)
fallback: true # true = usa hardcoded si custom falla
events:
always_active: true # true = inicio automático de eventos
messages:
enabled: true # false = silencia todos los mensajes
progress:
enabled: true
format: "<dark_gray>[<green>EventUI</green>]</dark_gray> <white><description></white> <gray>(<current>/<target>)</gray>"
objective_completed:
enabled: true
format: "<gold>[EventUI]</gold> <green>¡Objetivo completado! ✔</green>"
event_started:
enabled: true
format: "<yellow>[EventUI]</yellow> <green>Misión iniciada: </green><white><event_name></white>"
event_completed:
enabled: true
format: "<gold><bold>[EventUI] ¡Evento completado: <event_name>!</bold></gold>"
event_failed:
enabled: true
format: "<red>[EventUI]</red> <dark_red>Evento fallado: <event_name></dark_red>"
event_locked:
enabled: true
format: "<red>[EventUI]</red> <gray>Este evento está bloqueado. Completa los anteriores primero.</gray>"
# ⚠️ Las secciones tracking y debug no están implementadas aún
tracking:
updateInterval: 40
locationCheckInterval: 40
debug:
logMessages: false
logTracking: false
logUIConfig: false
ui — Configuración de interfaz
ui.mode
Define qué tipo de interfaz usa el plugin cuando un jugador abre la pantalla de EventUI.
| Valor | Descripción | Cuándo usarlo |
|---|---|---|
"hardcoded" | UI por defecto integrada en el plugin. No requiere ningún archivo en uis/. | Testing inicial |
"custom" | Carga el archivo indicado en screenId desde la carpeta uis/. | Producción |
ui.custom.screenId
Nombre del archivo de UI a cargar, sin la extensión .yml. El archivo debe existir en plugins/EventUI/uis/.
ui:
mode: "custom"
custom:
screenId: "main-menu"
ui.custom.fallback
Si true, el plugin usa la UI hardcoded cuando la custom tiene un error de sintaxis o no se encuentra. Si false, lanza un error y bloquea el inicio.
| Valor | Comportamiento |
|---|---|
true | Falla silenciosamente y usa la UI por defecto. Recomendado en producción. |
false | Lanza error en consola. Útil para detectar errores en desarrollo. |
events — Comportamiento de eventos
events.always_active
Valor global por defecto para el inicio automático de eventos. Puede ser sobreescrito por cada evento individual con always_active: true/false en su YAML.
| Valor | Comportamiento |
|---|---|
true | Los eventos se inician automáticamente cuando el jugador realiza una acción relevante. |
false | Los eventos requieren inicio manual con /ev start <id>. |
messages — Mensajes al chat
messages.enabled
Interruptor global. Si es false, silencia absolutamente todos los mensajes de EventUI al chat, independientemente de la configuración individual de cada tipo.
Tipos de mensaje
Cada tipo de mensaje tiene dos campos: enabled (boolean) y format (string con MiniMessage). Los formatos soportan placeholders específicos:
| Tipo | Cuándo se envía | Placeholders disponibles |
|---|---|---|
progress | Cada vez que el jugador avanza en un objetivo | <description>, <current>, <target> |
objective_completed | Al completar un objetivo individual | — |
event_started | Al iniciar un evento | <event_name> |
event_completed | Al completar todos los objetivos de un evento | <event_name> |
event_failed | Al fallar un evento | <event_name> |
event_locked | Al intentar iniciar un evento bloqueado por dependencias | — |
messages:
enabled: true
progress:
enabled: true
format: "<dark_gray>[<green>EventUI</green>]</dark_gray> <white><description></white> <gray>(<current>/<target>)</gray>"
tracking y debug — No implementados
tracking y debug están definidas en el archivo pero sus valores no son leídos por el sistema actualmente. El plugin usa valores hardcodeados. Están planeadas para versiones futuras.
| Key | Descripción | Default hardcodeado | Estado |
|---|---|---|---|
tracking.updateInterval | Intervalo en ticks para actualizar el tracking | 40 | ❌ No leído |
tracking.locationCheckInterval | Intervalo para REACH_LOCATION | 40 | ❌ No conectado al scheduler |
debug.logMessages | Loguear mensajes del bridge plugin↔mod | false | ❌ No leído |
debug.logTracking | Loguear incrementos de progreso | false | ❌ No leído |
debug.logUIConfig | Loguear carga y validación de UIs | false | ❌ No leído |
Configuración recomendada para producción
ui:
mode: "custom"
custom:
screenId: "main-menu"
fallback: true
events:
always_active: true
messages:
enabled: true
progress:
enabled: true
format: "<dark_gray>[<green>EventUI</green>]</dark_gray> <white><description></white> <gray>(<current>/<target>)</gray>"
objective_completed:
enabled: true
event_started:
enabled: true
event_completed:
enabled: true
event_failed:
enabled: true
event_locked:
enabled: true