Saltearse al contenido

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 PermisoDescripciónPor DefectoGrupo Sugerido
cinematic.playPermite reproducir cinemáticas para uno mismo u otros jugadores.opAdministrador, Staff de Eventos
cinematic.stopPermite detener cinemáticas en reproducción.opAdministrador, Moderador
cinematic.pausePermite pausar una escena activa.opAdministrador, Moderador
cinematic.resumePermite reanudar una escena pausada.opAdministrador, Moderador
cinematic.listPermite consultar el catálogo de escenas disponibles.trueTodos los jugadores
cinematic.reloadPermite recargar archivos de configuración y escenas desde el disco.opAdministrador
cinematic.helpPermite ver la ayuda de comandos.trueTodos los jugadores
cinematic.*Concede acceso administrativo total a todos los comandos.opSuperadmin / Dueño del servidor

🛡️ Ejemplos de Configuración con LuckPerms

Asignar Control a Moderadores

Ventana de terminal
/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 true

Acceso Administrativo Completo

Ventana de terminal
/lp group admin permission set cinematic.* true