> For the complete documentation index, see [llms.txt](https://notnaxito.gitbook.io/notnaxito-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notnaxito.gitbook.io/notnaxito-docs/config-yml/rankups-yml.md).

# rankups.yml

En el archivo `rankups.yml` es donde ocurre la magia. Aquí vas a definir el camino de tus rangos (cuál va después de cuál) y cómo se va a ver cada uno en el menú (ítem, casilla, descripción y requisitos para subir).

***

## Contenido por defecto

Aquí tienes el archivo básico para empezar:

```yaml
# El orden de los rangos está definido por la lista 'rank_order'
rank_order:
  - "A"
  - "B"
  - "C"

ranks:
  A:
    name: "&#00FF00Rango A"
    luckperms_group: "a"
    slot: 11
    material: "LIME_STAINED_GLASS_PANE"
    locked_material: "RED_STAINED_GLASS_PANE"
    lore:
      - "&7Requisitos:"
      - "&fDinero: &e$1000"
      - ""
      - "&a¡Click para subir de rango!"
    acquired_lore:
      - "&a¡Ya tienes este rango!"
    requirements:
      vault: 1000.0
  B:
    name: "&#00FF00Rango B"
    luckperms_group: "b"
    slot: 13
    material: "LIME_STAINED_GLASS_PANE"
    locked_material: "RED_STAINED_GLASS_PANE"
    lore:
      - "&7Requisitos:"
      - "&fDinero: &e$5000"
      - ""
      - "&a¡Click para subir de rango!"
    requirements:
      vault: 5000.0
  C:
    name: "&#00FF00Rango C"
    luckperms_group: "c"
    slot: 15
    material: "LIME_STAINED_GLASS_PANE"
    locked_material: "RED_STAINED_GLASS_PANE"
    lore:
      - "&7Requisitos:"
      - "&fDinero: &e$15000"
      - ""
      - "&a¡Click para subir de rango!"
    requirements:
      vault: 15000.0
```

***

## ¿Cómo se configura?

El archivo se divide en dos partes principales:

### 1. El orden de los rangos (rank\_order)

Es una lista ordenada de arriba a abajo. El primer rango de la lista es el de inicio y el último es el rango final (el máximo al que se puede llegar). Asegúrate de que los nombres aquí coincidan exactamente con las secciones que pongas abajo en `ranks`.

```yaml
rank_order:
  - "A"
  - "B"
  - "C"
```

### 2. Configuración de los rangos (ranks)

Aquí defines los detalles visuales de cada rango en el inventario:

* **`name`:** El nombre con el que se verá el rango en el menú. Soporta colores tradicionales (`&a`, `&l`) y colores hexadecimales (RGB).
* **`luckperms_group`:** El nombre del grupo en LuckPerms asociado a este rango.
  * Al subir de nivel, el plugin meterá al jugador en este grupo.
  * También sirve para comprobar si el jugador ya posee este rango (comprobando si tiene el permiso de grupo `group.<grupo_luckperms>`).
* **`slot`:** La casilla del inventario donde se mostrará el ítem (las casillas van de la `0` a la `53`).
* **`material`:** El ítem que se mostrará en el menú cuando el jugador **ya tenga** el rango, o cuando sea **su siguiente rango** disponible.
* **`locked_material`:** El ítem que verá el jugador si este rango todavía está **bloqueado** (es decir, aún le faltan otros rangos antes de llegar a este).
* **`lore`:** La descripción del ítem en el menú antes de que el jugador lo compre.
* **`acquired_lore`:** (*Opcional*) La descripción que se mostrará cuando el jugador **ya tenga** comprado este rango. Si no la pones, mostrará el lore normal por defecto.
* **`requirements`:** Lo que el jugador necesita para poder comprar el rango.

***

## ¿Cómo configurar los requisitos?

Tienes dos formas de pedir cosas para subir de rango. Puedes usar una de ellas, o combinar ambas en el mismo rango.

### Opción A: Dinero normal (vault)

Pide una cantidad de dinero tradicional y se la descuenta de su cuenta al subir de rango.

```yaml
requirements:
  vault: 5000.0
```

### Opción B: Estadísticas y otras monedas (placeholder)

Te permite pedir cualquier dato numérico que maneje PlaceholderAPI (por ejemplo: fichas, puntos, nivel, bloques picados, tiempo jugado, etc.) y decidir si quieres cobrarlo con un comando de consola o no.

```yaml
requirements:
  placeholder:
    value: "%playerpoints_points%"
    amount: 150
    consume_command: "playerpoints take %player% %amount%"
```

* **`value`:** El marcador/placeholder que quieres revisar. El plugin limpiará automáticamente cualquier texto y se quedará solo con los números para poder hacer la comparación.
* **`amount`:** El valor mínimo que el jugador debe tener.
* **`consume_command`:** (*Opcional*) El comando de consola que se ejecutará al momento de subir de rango para cobrar la cantidad. Puedes usar `%player%` (nombre del usuario) y `%amount%` (la cantidad pedida). Si no quieres cobrar nada y solo verificar (por ejemplo, comprobar que el jugador tiene nivel de experiencia 30 o que lleva 5 horas jugadas sin quitarle nada), pon `""` o directamente no incluyas esta línea en la configuración.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://notnaxito.gitbook.io/notnaxito-docs/config-yml/rankups-yml.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
