> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/es/rncombatpvp/configuration/menus.md).

# Menús

Cambia la distribución, los ítems y los sonidos de cada menú en menus.yml, y agrega tus propios botones.

`menus.yml` define cómo se ve cada menú. Los textos (títulos, nombres, lore) están en los [archivos de idioma](/rnsetups/es/rncombatpvp/configuration/languages.md), en `menus.<menu>`.

| Menú                                      | Se abre con                                                                                     |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `main`                                    | `/combat`                                                                                       |
| `stats`                                   | `/combat stats [jugador]`, **Tus estadísticas** en `/combat`, un jugador de la lista de mejores |
| `top`                                     | `/combat top [kills\|kdr\|streak\|rating\|assists]`                                             |
| `bounties`                                | `/combatbounty` (o `/bounty`), `/combat bounties`                                               |
| `recap`                                   | `/combat recap`, **Última muerte** en `/combat`                                                 |
| `prefs`                                   | `/combat prefs`, **Tus ajustes** en `/combat`                                                   |
| `editor`, `editor-options`, `editor-list` | `/combat editor` (admins)                                                                       |
| `confirm`                                 | Preguntas como "¿Terminar tu protección de novato?"                                             |

```yaml
menus:
  main:
    rows: 5
    filler: GRAY_STAINED_GLASS_PANE   # "" = las casillas vacías quedan vacías
    content: ""
    items:
      profile: {slot: 4, material: PLAYER_HEAD}
      stats: {slot: 21, material: WRITABLE_BOOK}
      top: {slot: 22, material: GOLD_INGOT, model: 0}
      editor: {slot: 32, material: COMMAND_BLOCK, enabled: false}
```

* `rows`: de 1 a 6.
* `slot`: 0 es la casilla de arriba a la izquierda, 8 la de arriba a la derecha, 9 la primera de la segunda fila, y así.
* `material`: cualquier ítem.
* `model`: custom model data para paquetes de recursos (`0` = ninguno).
* `enabled: false` quita un botón.
* `content`: las casillas que usan las listas (mejores jugadores, recompensas, líneas del resumen, opciones del editor), como `"10-16, 19-25"`.

En el menú `main`, `pvp-on` y `pvp-off` comparten casilla: se ve uno u otro según el PvP del jugador. Los botones que un jugador no puede usar (el editor sin permiso, la protección de novato cuando no la tiene) no se muestran.

Una casilla fuera del menú se avisa en la consola y se usa la casilla por defecto.

Los sonidos de clics, errores, aciertos, cambios de página y la cuenta atrás están al principio del archivo (`sounds`).

<figure><img src="https://i.imgur.com/weeLGLU.png" alt="El menú principal"><figcaption><p>El menú principal</p></figcaption></figure>

## Tus propios botones

Agrega botones que ejecutan comandos en `custom` de cualquier menú:

```yaml
menus:
  main:
    custom:
      arena:
        slot: 38
        material: NETHERITE_SWORD
        name: "<red><bold>Arena PvP"
        lore: ["<gray>Ir a la arena"]
        permission: ""
        actions:
          - "[player] warp arena"
          - "[sound] minecraft:entity.experience_orb.pickup"
          - "[close]"
        right-click-actions: []
```

| Clave                 | Qué hace                                                                                                           |
| --------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `slot`                | Dónde va. Un botón propio nunca tapa un botón del plugin: desactiva ese (`enabled: false`) para liberar su casilla |
| `material`, `model`   | Ítem y custom model data                                                                                           |
| `name`, `lore`        | Textos (MiniMessage o códigos `&`)                                                                                 |
| `permission`          | Necesario para verlo y usarlo (`""` = todos)                                                                       |
| `actions`             | Lo que hace un clic, en orden                                                                                      |
| `right-click-actions` | Opcional: lo que hace un clic derecho en su lugar                                                                  |

| Acción                | Qué hace                                                                       |
| --------------------- | ------------------------------------------------------------------------------ |
| `[player] <comando>`  | Ejecuta un comando como el jugador                                             |
| `[console] <comando>` | Ejecuta un comando como la consola                                             |
| `[message] <texto>`   | Le envía un mensaje al jugador                                                 |
| `[menu] <nombre>`     | Abre un menú de rnCombatPvP: main, stats, top, bounties, recap, prefs o editor |
| `[sound] <sonido>`    | Reproduce un sonido (`minecraft:...`)                                          |
| `[close]`             | Cierra el menú                                                                 |
| `[back]`              | Vuelve al menú anterior                                                        |

Placeholders en los comandos: `{player}`, `{uuid}`, `{world}`, y los de PlaceholderAPI.

{% hint style="warning" %}
En los comandos `[console]`, los valores de los placeholders solo conservan letras, números y `_ . : -`; todo lo demás se convierte en `_`. Así nada que elija un jugador puede agregar palabras a un comando que ejecuta la consola.
{% endhint %}

Los menús no se pueden usar para sacar ítems: cada clic se cancela y no se puede mover nada hacia adentro ni hacia afuera.
