# \[🏚️] NPC RealTalking

NPC-RealTalking es un sistema para crear conversaciones interactivas con NPCs de Minecraft usando un panel web y un plugin sincronizado con tu servidor.

El objetivo es que puedas diseñar diálogos, opciones, condiciones y acciones desde una interfaz visual, publicarlos en la web y sincronizarlos automáticamente con el servidor Minecraft.

### Qué incluye

NPC-RealTalking está compuesto por dos partes principales:

#### Plugin Minecraft

El plugin se instala en tu servidor y se encarga de:

* Detectar interacciones con NPCs de Citizens.
* Iniciar conversaciones dentro del juego.
* Mostrar mensajes y opciones en el chat.
* Permitir selección con mouse, números o selector.
* Aplicar efectos visuales como zoom u oscurecimiento.
* Controlar cámara, distancia y cierre de conversación.
* Sincronizar diálogos publicados desde el backend.
* Guardar una cache local para seguir funcionando si el backend no responde.

#### Panel Web

El panel web permite administrar el contenido del sistema:

* Crear y editar diálogos.
* Asociar conversaciones a NPCs.
* Crear nodos de conversación.
* Configurar opciones de respuesta.
* Definir acciones al seleccionar una opción.
* Publicar diálogos para que el plugin los sincronice.
* Administrar servidores y API keys.
* Ver el estado del contenido publicado.

### Cómo funciona

El flujo general es simple:

1. Creas o editas un diálogo desde el panel web.
2. Publicas el diálogo.
3. El plugin sincroniza los diálogos publicados desde el backend.
4. Un jugador interactúa con un NPC dentro del servidor.
5. El plugin busca si ese NPC tiene un diálogo asignado.
6. Si existe, inicia la conversación dentro del juego.
7. El jugador elige opciones y el diálogo avanza según las acciones configuradas.

```mermaid
flowchart LR
    A[Panel Web] --> B[Publicar diálogo]
    B --> C[Backend]
    C --> D[Plugin Minecraft]
    D --> E[NPC en el servidor]
    E --> F[Jugador interactúa]
    F --> G[Conversación en el chat]
```

### Para quién está pensado

NPC-RealTalking está pensado para servidores Minecraft que quieren agregar conversaciones más ricas con NPCs, especialmente en:

* Survival con misiones.
* RPG.
* Modalidades con historia.
* Tutoriales interactivos.
* Servidores con sistemas de progreso.
* Lobbies con NPCs informativos.
* Eventos temporales.

### Requisitos principales

Para usar NPC-RealTalking necesitás:

* Un servidor Minecraft compatible con plugins Bukkit/Spigot/Paper.
* Citizens instalado.
* El plugin NPC-RealTalking.
* Acceso al panel web.
* Una API key del servidor configurada en config.yml.
* Conexión HTTPS al backend publicado.

### Primeros pasos

Si es la primera vez que usás NPC-RealTalking, seguí este orden:

1. Instalá el plugin en tu servidor Minecraft.
2. Configurá el archivo config.yml.
3. Conectá el plugin con el backend usando la PLUGIN\_API\_KEY.
4. Creá un diálogo desde el panel web.
5. Publicá el diálogo.
6. Ejecutá /nrt sync en el servidor.
7. Interactuá con el NPC dentro del juego.

### URLs importantes

Panel web:

[`https://nrt.mstudiosmc.online`](https://nrt.mstudiosmc.online/)

Backend usado por el plugin:

`https://nrt.mstudiosmc.online`

Ejemplo de configuración del plugin:

<pre class="language-yml"><code class="lang-yml"><strong>flowchart LR
</strong>backend:
  base-url: "https://nrt.mstudiosmc.online"
  api-key: "TU_PLUGIN_API_KEY"
  allow-insecure-http: false

  sync:
    auto-refresh-enabled: true
    auto-refresh-minutes: 5
    cache-file: "cache/dialogues.json"
</code></pre>

### Estado del proyecto

NPC-RealTalking actualmente incluye:

* Panel web funcional.
* Backend desplegado en producción.
* Sincronización con DB.
* Plugin con cache local.
* Sistema de diálogos por nodos.
* Acciones, condiciones y opciones.
* Configuración de cámara, sonidos y efectos.
* Compatibilidad con NPCs sin conversación configurable.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wikinrt.mstudiosmc.online/inicio/npc-realtalking.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
