config.yml
Referencia completa del archivo de configuración principal de EventUI. Controla el modo de UI, comportamiento de eventos, mensajes al chat, sistema de skills 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>"
skills:
point_type_aliases:
"Puntos de Combate": "combat_points"
"Puntos de Habilidad": "skill_points"
"Puntos de Recoleccion": "gathering_points"
xp_conversion:
enabled: true
levels_per_point: 1
point_type: "Puntos de Combate"
only_on_level_up: true
mob_kill:
enabled: true
point_type: "Puntos de Combate"
allowed_mobs:
- minecraft:zombie
- minecraft:skeleton
- "#minecraft:bosses"
base_points: 1
point_distribution:
Puntos de Habilidad: 1
Puntos de combate: 1
gathering_points: 0.5
multipliers:
minecraft:zombie: 1
minecraft:ender_dragon: 50
"#minecraft:bosses": 40
natural_only: false
cooldowns_per_mob:
minecraft:ender_dragon: 3600
minecraft:zombie: 10
player_kill:
enabled: true
point_type: "combat_points"
points_per_kill: 5
cooldown_per_victim_seconds: 300
block_mine:
enabled: true
point_type: "Puntos de Recoleccion"
base_points: 1
allowed_blocks:
- minecraft:diamond_ore
- "#minecraft:logs"
multipliers:
minecraft:diamond_ore: 5
"#minecraft:logs": 1
require_correct_tool: true
cooldown_per_block_seconds: 0
fishing:
enabled: true
point_type: "Puntos de Recoleccion"
base_points: 1
multipliers:
"#minecraft:fishes": 1
luck_bonus: true
crop_harvest:
enabled: true
point_type: "Puntos de Recoleccion"
base_points: 1
multipliers:
minecraft:wheat: 1
minecraft:nether_wart: 3
require_mature: true
manual_only: false
animal_breed:
enabled: true
point_type: "Puntos de Recoleccion"
base_points: 2
multipliers:
"#minecraft:passive": 2
minecraft:horse: 3
cooldown_per_entity_seconds: 0
event_complete:
enabled: true
point_type: "Puntos de Habilidad"
base_points: 10
difficulty_multipliers:
easy: 1
medium: 2
hard: 3
require_completion: true
objective_complete:
enabled: false
point_type: "Puntos de Habilidad"
base_points: 2
require_event_completion: false
playtime:
enabled: true
point_type: "Puntos de Habilidad"
points_per_minutes: 30
daily_cap: 60
require_activity: false
activity_threshold_seconds: 60
connections:
style:
type: "orthogonal"
thickness: 2
color: "#FFFFFF"
opacity: 0.7
dashed: false
effects:
glow: true
animated: false
state_colors:
locked: "#555555"
available: "#00FF00"
partial: "#FFFF00"
maxed: "#00FFFF"
show_on_hover: false
# ⚠️ 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>"
skills — Sistema de skill trees
La sección skills configura el sistema de árboles de habilidades, incluyendo tipos de puntos, fuentes de puntos y visuales de conexiones.
skills.point_type_aliases
Mapeo de nombres amigables a IDs internos de tipos de puntos. Permite usar nombres legibles en lugar de IDs técnicos.
skills:
point_type_aliases:
"Puntos de Combate": "combat_points"
"Puntos de Habilidad": "skill_points"
"Puntos de Recoleccion": "gathering_points"
Fuentes de puntos
Cada fuente de puntos tiene propiedades comunes y específicas. Las fuentes disponibles son: xp_conversion, mob_kill, player_kill, block_mine, fishing, crop_harvest, animal_breed, event_complete, objective_complete, playtime.
| Propiedad común | Descripción |
|---|---|
enabled | Activa/desactiva la fuente de puntos |
point_type | Tipo de puntos otorgados (puede ser un alias) |
point_distribution | Mapa para múltiples tipos de puntos simultáneos |
base_points | Puntos base otorgados |
multipliers | Multiplicadores por entidad/bloque específico (soporta tags) |
cooldowns_per_* | Cooldowns por entidad específica en segundos |
skills.connections
Configura los visuales de las conexiones entre nodos en los skill trees.
| Propiedad | Descripción |
|---|---|
style.type | "straight", "curved", "orthogonal" |
style.thickness | Grosor de las líneas (1-5) |
style.color | Color de las líneas en formato hex |
style.opacity | Opacidad (0.0-1.0) |
style.dashed | Líneas punteadas |
effects.glow | Brillo en conexiones activas |
effects.animated | Flujo animado |
state_colors | Colores por estado: locked, available, partial, maxed |
show_on_hover | Resaltar conexiones al hacer hover |
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