> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cakestudio.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# Мультивалютность

> Настройка валют, провайдеров, лимитов и форматирования цен в settings/currencies.yml.

Настройка валют аукциона находится в `settings/currencies.yml`.

## Режимы работы

Режим торговли переключается в `config.yml`:

```yaml theme={null}
general:
  # MULTI_CURRENCY - торговля за любые зарегистрированные валюты.
  # SINGLE_CURRENCY - торговля только за дефолтную валюту (с флагом default: true).
  auction-mode: "MULTI_CURRENCY"
```

## Параметры валют

Каждая валюта объявляется в секции `currencies`:

```yaml theme={null}
currencies:
  vault:
    provider: "Vault"
    default: true
    priority: 1
    permission: ""
    decimals: true
    min-price: 1.0
    max-price: 1000000000.0
    display-name: "<gradient:#FFD700:#FFAA00>Монеты</gradient>"
    symbol: "⛃"
    format: "<gradient:#FFD700:#FFAA00>{price}</gradient> <gray>{symbol}</gray>"
    aliases:
      - "монеты"
      - "coins"
      - "money"
```

### Описание полей

| Параметр       | Описание                                                                                                                                      |
| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |
| `provider`     | Провайдер: `Vault`, `PlayerPoints`, `Experience` (или `XP`), `VaultUnlocked`, `BVault`, `ExcellentEconomy` или кастомный провайдер через API. |
| `default`      | Дефолтная валюта. Значение `true` должно быть указано ровно для одной валюты.                                                                 |
| `priority`     | Порядок отображения в списках и меню (меньшее число — выше в списке).                                                                         |
| `permission`   | Permission для выставления лотов за эту валюту. Пустая строка `""` — доступ для всех.                                                         |
| `decimals`     | Поддержка дробных чисел (`true` — разрешены, `false` — только целые).                                                                         |
| `min-price`    | Минимальная цена лота при продаже.                                                                                                            |
| `max-price`    | Максимальная цена лота при продаже.                                                                                                           |
| `display-name` | Название валюты (поддерживает MiniMessage и Legacy).                                                                                          |
| `symbol`       | Символ валюты.                                                                                                                                |
| `format`       | Шаблон отображения цены. Плейсхолдеры: `{price}`, `{symbol}`, `{display_name}`.                                                               |
| `aliases`      | Алиасы для аргумента валюты в команде `/ah sell <цена> [валюта]`.                                                                             |

## Примеры конфигураций

### PlayerPoints

```yaml theme={null}
  playerpoints:
    provider: "PlayerPoints"
    default: false
    priority: 2
    permission: "cakeauction.currency.playerpoints"
    decimals: false
    min-price: 1.0
    max-price: 1000000.0
    display-name: "<gradient:#A855F7:#EC4899>Токены</gradient>"
    symbol: "✦"
    format: "<gradient:#A855F7:#EC4899>{price}</gradient> <light_purple>{symbol}</light_purple>"
    aliases:
      - "токены"
      - "tokens"
      - "points"
```

### Опыт (Experience)

```yaml theme={null}
  xp:
    provider: "Experience"
    default: false
    priority: 3
    permission: ""
    decimals: false
    min-price: 1.0
    max-price: 50000.0
    display-name: "<gradient:#22C55E:#10B981>Опыт</gradient>"
    symbol: "XP"
    format: "<gradient:#22C55E:#10B981>{price}</gradient> <green>{symbol}</green>"
    aliases:
      - "опыт"
      - "exp"
      - "xp"
```

## Привязка лимитов и налогов к валютам

В файле `config.yml` можно настроить индивидуальные лимиты и ставки под конкретные валюты.

### Лимиты слотов (`auction-limits`)

```yaml theme={null}
auction-limits:
  groups:
    vip:
      priority: 50
      permission: "cakeauction.limit.vip"
      slots: 10          # Общий лимит слотов
      time: "3d"         # Базовый срок жизни лота
      currency-slots:
        playerpoints: 3  # Максимум 3 лота за токены
      currency-times:
        playerpoints: "1d" # Срок жизни лота за токены
```

### Налоги (`tax`)

```yaml theme={null}
auction-settings:
  tax:
    enabled: true
    target: "SELLER"
    groups:
      vip:
        priority: 50
        tax: 5.0 # Базовая ставка для всех валют (5%)
        currency-tax:
          vault: 3.0        # Налог за монеты (3%)
          playerpoints: 7.0 # Налог за токены (7%)
```

### Автовыкуп сервером (`auto-buyer`)

```yaml theme={null}
auto-buyer:
  enabled: true
  currencies:
    - "vault"
    - "playerpoints"
  max-payout: 10000.0
  max-payouts:
    vault: 10000.0
    playerpoints: 500.0 # Максимальная сумма выкупа за токены
```
