Comandos y Permisos
CinematicEngine dispone de un sistema de comandos robusto e intuitivo gestionado por CommandManager. Todos los subcomandos cuentan con autocompletado contextual por pestañas (Tab-Completion), soporte multilenguaje (i18n) y mensajes de retroalimentación enriquecidos mediante Adventure MiniMessage.
⌨️ Sintaxis de Comandos
- Comando Raíz:
/cinematic - Alias del Comando:
/cine
📜 Referencia de Subcomandos
1. /cine play <scene> [player]
Inicia la reproducción de una escena cinemática. Si no se especifica ningún jugador, se ejecuta sobre el usuario que emitió el comando.
- Parámetros:
<scene>: Identificador único de la escena cargada (ej.welcome,boss_intro).[player](Opcional): Jugador objetivo conectado que experimentará la cinemática.
- Permiso:
cinematic.play(Por defecto:op) - Ejemplos:
/cine play welcome/cine play boss_intro Alex
2. /cine stop [player]
Detiene de inmediato la cinemática en curso para el jugador indicado (o el remitente) y restaura su estado original (modo de juego, coordenadas y punto de vista).
- Parámetros:
[player](Opcional): Jugador objetivo conectado.
- Permiso:
cinematic.stop(Por defecto:op) - Ejemplo:
/cine stop/cine stop Steve
3. /cine pause [player]
Pausa la reproducción en el tick actual de la línea de tiempo para el jugador objetivo.
- Parámetros:
[player](Opcional): Jugador objetivo conectado.
- Permiso:
cinematic.pause(Por defecto:op) - Ejemplo:
/cine pause
4. /cine resume [player]
Reanuda la reproducción de una cinemática previamente pausada para el jugador objetivo.
- Parámetros:
[player](Opcional): Jugador objetivo conectado.
- Permiso:
cinematic.resume(Por defecto:op) - Ejemplo:
/cine resume
5. /cine list
Muestra el catálogo de todas las escenas cinemáticas registradas y validadas, junto con su duración en ticks y títulos de metadatos.
- Permiso:
cinematic.list(Por defecto:true) - Ejemplo:
/cine list
6. /cine reload
Recarga todos los archivos YAML de escenas y los paquetes de idioma (locales/messages_*.yml) desde el disco, actualizando los registros internos y mensajes sin necesidad de reiniciar el servidor. Valida cada escena con SceneDtoValidator e informa de cualquier error en la consola.
- Permiso:
cinematic.reload(Por defecto:op) - Ejemplo:
/cine reload
7. /cine help
Muestra el menú de ayuda interactivo con la lista de subcomandos, descripciones de argumentos y sintaxis de uso.
- Permiso:
cinematic.help(Por defecto:true) - Ejemplo:
/cine help
🎨 Formato y Retroalimentación (i18n)
Todas las respuestas a comandos, avisos de error y notificaciones de éxito se procesan mediante el servicio de internacionalización (MessageService) utilizando Adventure MiniMessage:
- Placeholders Dinámicos: Los mensajes pueden incluir variables contextuales reemplazadas automáticamente, tales como
<subcommand>,<label>,<permission>,<name>, y<count>. - Estilos Visuales: Admite gradientes (
<gradient:#ffaa00:#ff5555>), colores hexadecimales (<#55ffff>) y decoraciones como<bold>o<italic>. - Personalización Total: Para alterar cualquier texto o color, edita los archivos correspondientes en la carpeta
plugins/CinematicEngine/locales/y aplica los cambios con/cine reload.
🔒 Matriz de Permisos
| Nodo de Permiso | Descripción | Por Defecto | Grupo Sugerido |
|---|---|---|---|
cinematic.play | Permite reproducir cinemáticas para uno mismo u otros jugadores. | op | Administrador, Staff de Eventos |
cinematic.stop | Permite detener cinemáticas en reproducción. | op | Administrador, Moderador |
cinematic.pause | Permite pausar una escena activa. | op | Administrador, Moderador |
cinematic.resume | Permite reanudar una escena pausada. | op | Administrador, Moderador |
cinematic.list | Permite consultar el catálogo de escenas disponibles. | true | Todos los jugadores |
cinematic.reload | Permite recargar archivos de configuración y escenas desde el disco. | op | Administrador |
cinematic.help | Permite ver la ayuda de comandos. | true | Todos los jugadores |
cinematic.* | Concede acceso administrativo total a todos los comandos. | op | Superadmin / Dueño del servidor |
🛡️ Ejemplos de Configuración con LuckPerms
Asignar Control a Moderadores
/lp group moderator permission set cinematic.play true/lp group moderator permission set cinematic.stop true/lp group moderator permission set cinematic.pause true/lp group moderator permission set cinematic.resume trueAcceso Administrativo Completo
/lp group admin permission set cinematic.* true