> For the complete documentation index, see [llms.txt](https://wiki.dyroxplays.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.dyroxplays.de/buyperms/konfiguration.md).

# Konfiguration

Hier findest du eine detaillierte Aufschlüsselung der Konfigurationsdatei für das **BuyPerms**-Plugin, mit der du das Verhalten, die Permissions, Preise und die GUI-Gestaltung anpassen kannst.

***

## Dateiübersicht

Das Plugin generiert nach dem ersten Serverstart folgende Hauptkonfigurationsdatei:

* **`plugins/BuyPerms/config.yml`**: Steuert alle Preise, Item-Definitionen, Sounds, MySQL-Zugänge und Plugin-Nachrichten.

***

## Konfigurations-Bereiche

{% tabs %}
{% tab title="⚙️ Basis-Einstellungen" %}

#### Globale Optionen

```yaml
# Präfix vor Systemnachrichten im Chat
prefix: '&bBuyPerms &8»'

# Währungseinstellungen
usevault: false
enabletokencmd: true
starttokens: 0
```

* **`usevault`**: Wenn `true`, wird die Wirtschaft von Vault (In-Game Geld) verwendet. Wenn `false`, wird das integrierte Token-System genutzt.
* **`enabletokencmd`**: Aktiviert oder deaktiviert den Befehl `/token`.
* **`starttokens`**: Startguthaben an Tokens für Spieler bei ihrem ersten Serverbeitritt.
  {% endtab %}

{% tab title="🗄️ MySQL" %}

#### Datenbank-Optionen

```yaml
MYSQL:
  host: localhost
  port: '3306'
  username: user
  database: db
  password: password123
```

* Trage hier deine MySQL-Zugangsdaten ein, um die Tokenbestände der Spieler über mehrere BungeeCord-Server hinweg zu synchronisieren.
  {% endtab %}

{% tab title="🎵 Sounds & Items" %}

#### Sound- & Admin-Item-Einstellungen

```yaml
sound:
  openinv: BLOCK_CHEST_OPEN
  buy: ENTITY_PLAYER_LEVELUP
  cancel: BLOCK_ANVIL_BREAK

adminitems:
  accept: ARROW
  cancel: BARRIER
  placeholder: LIGHT_BLUE_STAINED_GLASS_PANE
  nopage: BARRIER
  previewpage: ARROW
  nextpage: ARROW
```

* **`sound`**: Bestimmt die zu spielenden Bukkit-Sounds bei GUI-Aktionen.
* **`adminitems`**: Legt die Item-Materialien fest, welche für die Steuerung im GUI (Kaufbestätigung, Navigation) angezeigt werden.
  {% endtab %}
  {% endtabs %}

***

## Berechtigungs-Systeme

Das Plugin unterstützt verschiedene Permission-Systeme. Setze das von dir genutzte System auf `true` und die restlichen auf `false`.

```yaml
permissionsystem:
  permissionsex: false
  luckperms: false
  cperms_cnv2: false
  cperms_cnv3: false
  dkperms: false
```

### Ausgeführte Befehle

Je nach dem oben ausgewählten System werden folgende Befehlsstrukturen verwendet, um Ränge/Permissions zuzuweisen:

```yaml
addpermcmd: pex user %player% add %perm% %extra%
addgroupcmd: pex user %player% group add %group% %extra%
setgroupcmd: pex user %player% group set %group% %extra%
```

***

## Verkaufs-Items (Shop-GUI)

Unter dem Key `items` kannst du deine verkaufbaren Berechtigungen und Ränge seiten- und slotbasiert konfigurieren.

```yaml
# Der Name des Hauptmenüs (unterstützt %token% als Währungsanzeige)
invname: '&bBuyPerm %token%'

items:
  '1': # Seite 1
    '0': # Slot 0 (Erstes Slot oben links)
      name: '&6XY Permission'
      mode: addpermcmd
      perm:
      - permission.xy
      price: 10
      item: ANVIL
      lore:
      - '&7Beschreibung Zeile 1'
      - '&7Beschreibung Zeile 2'
    '1': # Slot 1
      name: '&6Gruppe: Premium'
      mode: addgroupcmd
      group: Premium
      extra: lifetime
      price: 100
      item: GOLD_INGOT
      lore:
      - '&7Kaufe den Premium-Rang'
```

* **`mode`**: Bestimmt die Zuweisungs-Art. Mögliche Werte: `addpermcmd` (Einzelne Permission) oder `addgroupcmd` / `setgroupcmd` (Gruppen & Ränge).
* **`price`**: Preis in Tokens oder Vault-Geld (je nach `usevault` Einstellung).

***

## Systemnachrichten & GUI-Namen

```yaml
# Namen des Kauf-Bestätigungsmenüs
confirminv:
  name: '&cBist du sicher?'
  accept: '&aKaufen'
  cancel: '&cAbbrechen'

# Statusanzeigen auf den Items im Verkaufs-GUI
alreadyhasperm: '&aGekauft'
hasnotperm: '&cKaufe für %price%'

# Weitere Nachrichten
messages:
  configreloaded: '&aConfig reloaded.'
  buypermusage: '&cNutze: /buyperm <Page>'
  tokenusage: '&cNutze: /token <add/set/remove> <Player> <Amount>'
  tokenadded: '&a%player% wurden %token% Tokens hinzugefügt!'
  tokenchanged: '&aDeine Tokenanzahl hat sich verändert, du hast nun %token% Tokens!'
  tokenremoved: '&a%player% wurden %token% Tokens entfernt!'
  tokensetted: '&a%player% hat nun %token% Tokens!'
  yourtokens: '&aDu hast %token% Tokens!'
  playerstokens: '&a%player% hat %token% Tokens!'
  playernotfound: '&cSpieler konnte in der Datenbank nicht gefunden werden!'
  villagerspawned: '&aVillager wurde gespawnt.'
  noperm: '&cDazu hast du keine Rechte.'
  notenoughtokens: '&cDu hast nicht genügend Tokens/Geld.'
  bought: '&aDu hast die Permission: %name% gekauft.'
```
