> For the complete documentation index, see [llms.txt](https://kubkitdev.gitbook.io/mmoforge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kubkitdev.gitbook.io/mmoforge/how-it-works/configs.md).

# Configs

#### `Configuration files`

| File                         | Contains                                                                                             |
| ---------------------------- | ---------------------------------------------------------------------------------------------------- |
| `config.yml`                 | Behavior: language, GUI, protection, pity, broadcast, profiles, dust, stats, audit, storage, license |
| `categories.yml`             | Which stats each item type can be affected by (+ stat guide)                                         |
| `qualities.yml`              | The reforge qualities                                                                                |
| `tiers.yml`                  | Requirements and qualities per rarity                                                                |
| `lang/en.yml`, `lang/es.yml` | All texts (translations)                                                                             |
| `forges.yml`                 | Created forges (don't edit by hand)                                                                  |
| `pity.yml`, `stats.yml`      | Player data (don't edit by hand)                                                                     |
| `logs/reforge.log`           | Audit log                                                                                            |

#### `categories.yml`

> Defines which stats the reforge can affect based on the MMOItems **type**. The key is the type id (SWORD, STAFF, ARMOR…).
>
> A stat listed here:
>
> * Is **multiplied** by the quality if the item already has it.
> * Can be **granted** as an extra by high qualities (only listed stats can be added).
>
> If an item has none of its type's stats, it will be "incompatible".
>
> {% code overflow="wrap" %}
>
> ```
> categories:  SWORD: [ATTACK_DAMAGE, ATTACK_SPEED, CRITICAL_STRIKE_CHANCE, LIFESTEAL]  ARMOR: [DEFENSE, MAX_HEALTH, ARMOR, DAMAGE_REDUCTION, MOVEMENT_SPEED]
> ```
>
> {% endcode %}
>
> *(Include the full list of numeric stats at the bottom — it comes commented in the file.)*

#### `qualities.yml`

> {% code overflow="wrap" %}
>
> ```
> qualities:  super_sharp:    suffix: "&b(Razor Sharp)"    modifier: 0.18    weight: 13    sound: ENTITY_EXPERIENCE_ORB_PICKUP    extra-stats:      LIFESTEAL: 2.0      MAX_HEALTH: 1.0
> ```
>
> {% endcode %}
>
> * `extra-stats` are filtered by compatibility: list both offensive AND defensive stats; each item only gets the ones that fit.

#### `tiers.yml`

> {% code overflow="wrap" %}
>
> ```
> tiers:  EPIC:    money: 10000    reroll-money-multiplier: 1.6    reroll-money-cap: 50000    items:      - "MMOITEMS:MATERIAL:SHARPENING_STONE:5"      - "VANILLA:DIAMOND:2"    allowed-qualities: [bad, normal, sharp, super_sharp, legendary]
> ```
>
> {% endcode %}
>
> * Tier IDs must match your `MMOItems/item-tiers.yml`.
> * `DEFAULT` is used if the item has no tier or isn't listed.

#### `Languages (translations)`

> * In `config.yml`: `language: en` (or `es`).
> * Edit `lang/en.yml` / `lang/es.yml` to change any text.
> * Create more languages by copying `en.yml` to `lang/<code>.yml`.
> * Quality suffixes (the names shown on the item) live in `qualities.yml`, not in lang.

#### `config.yml (reference)`

> Main sections (each documented in the file):
>
> * `language`, `hologram`, `gui`
>
> * `protection` (shield: uses, permissions, cost)
>
> * `pity` (threshold, progressive boost)
>
> * `broadcast` (announcements of top qualities)
>
> * `requirements.mmocore` (level/class)
>
> * `locked-qualities` (protect perfect items)
>
> * `reforge-cooldown-ms`
>
> * `profiles` (VIP/special forges)
>
> * `dust`
>
> * `celebration` (fireworks)
>
> * `stats`, `audit`
>
> * `storage` (YAML/MySQL)
