> 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/buildffa/konfiguration.md).

# Konfiguration

Passe die MySQL-Anbindung, die Coin-Belohnungen, das Scoreboard, das Chatformat sowie die kompletten Perk- und Shop-Items des **BuildFFA**-Plugins flexibel in der `config.yml` an.

***

## Dateiübersicht

Das Plugin erstellt nach dem ersten Serverstart folgende Datei:

* **`plugins/BuildFFA/config.yml`**: Verwaltet alle Spielmodi, Shop-Gegenstände, Welteneinstellungen und Nachrichten.

***

## Konfigurations-Bereiche

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

#### Spielmechaniken & Münzen

```yaml
# Der Präfix vor Systemnachrichten im Chat
prefix: '&eBuild&bFFA'

# Spielmechaniken-Schalter
mapchaning: true # Automatischer Kartenwechsel
mapchaningminutes: 30 # Wechselt die Karte alle 30 Minuten
healonkill: true # Vollständige Heilung bei Kills
forcenewscoreboard: true # Erzwingt die Scoreboard-Erstellung

# Coin-Einstellungen
coins:
  kill: 10 # Belohnung pro Kill
  death: 0 # Belohnung/Abzug bei Tod
```

{% endtab %}

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

#### Datenbank-Optionen

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

* **MySQL**: Die Zugangsdaten werden für die Speicherung der Kills, Tode, Rekorde und erworbenen Perks/Items der Spieler genutzt.
  {% endtab %}

{% tab title="🎨 UI & Scoreboard" %}

#### Scoreboard- & Menü-Optionen

```yaml
invsortname: '&eInvsortierung'
top10inv: '&eTop 10 Players'

# Scoreboard Sidebar
scoreboard: true
scoreboardtitel: '&eBuild&bFFA'
scoreboardspalten:
- '&a'
- '&b'
- '&7Map: &e%buildffa_map%'
- '&c'
- '&7Kills: &e%buildffa_kills%'
- '&d'
- '&7Online: %online%'
- '&e'
```

{% endtab %}

{% tab title="💬 Chatformat" %}

#### Chat-Optionen

```yaml
chatformat:
  use: true # Eigenes Chatformat aktivieren
  normal: '&e%player%: %msg%'
```

{% endtab %}
{% endtabs %}

***

## Shop & Perks (`items`)

Im Bereich `items` kannst du alle kaufbaren Blöcke, Knockback-Stöcke und Spezial-Items (z. B. Enterhaken, Rettungsplattformen) definieren.

### Konfigurations-Beispiel:

```yaml
perks:
  main: '&ePerks'
  stick: '&7Wähle deinen Stick aus'
  blocks: '&7Wähle deinen Block aus'
shop:
  name: '&eShop'
  lore:
    price: '&7Preis: &e%coins% Coins'
    select: '&aAusgewählt'
    bought: '&7Gekauft'

items:
  perks:
    main: # Perk-Kategorieauswahl
      stick:
        material: STICK
        name: '&7Stickauswahl'
        slot: 11
      blocks:
        material: SANDSTONE
        name: '&7Blockauswahl'
        slot: 15
        
    blocks: # Block-Perks
      RED_SANDSTONE:
        material: RED_SANDSTONE
        name: '&7RED_SANDSTONE'
        slot: 0
        coins: 10
      PRISMARINE:
        material: PRISMARINE
        name: '&7PRISMARINE'
        slot: 1
        coins: 10
        
    stick: # Stick-Perks (mit Verzauberungen)
      FEATHER:
        material: FEATHER
        name: '&7FEATHER'
        ench:
        - KNOCKBACK:1
        slot: 0
        coins: 10
        
  spawn: # Items, die Spieler am Spawn erhalten
    shop:
      material: NETHER_STAR
      name: '&eShop'
      slot: 7
    invsort:
      material: CHEST
      name: '&eInvsort'
      slot: 5
      
  shop: # Spezialgegenstände im Shop
    enderperle:
      material: ENDER_PEARL
      coins: 8
      slot: 10
    rettungsplattform:
      material: BLAZE_ROD
      name: '&6Rettungsplattform'
      coins: 9
      slot: 13
    enterhaken:
      material: FISHING_ROD
      name: '&5Enterhaken'
      coins: 10
      slot: 16
```

***

## Systemnachrichten

```yaml
message:
  join: '&e%player% joined.'
  leave: '&c%player% leaved.'
  death: '&c%player% ist gestorben.'
  killed: '&c%player% wurde von %killer% getötet.'
  notenoughmoney: '&cDu hast nicht genügend Coins, du brauchst mind. %price%!.'
  killstreak: '&e%player% &ahat einen &e%killstreak%er &aKillStreak!'
  invsortnothere: '&cDu kannst nur am Spawn deinen Inv sortieren!.'
  mapnotexist: '&c%map% existiert nicht.'
  startmapset: '&a%map% wurde als Startmap festgelegt.'
  invsaved: '&aDein Inventar wurde gespeichert.'
  savekit: '&aKit wurde gespeichert.'
  spawnset: '&aSpawn für %map% wurde auf deine aktuelle Location gesetzt.'
  invset: '&aInventar für %map% wurde gesetzt.'
  deathset: '&aTodeshöhe für %map% wurde gesetzt.'
  newmap: '&aEs wird nun auf &e%map% gespielt.'
  buildset: '&aDie Höhe wurde auf deine Location gesetzt, ab hier und drunter kann man bauen.'
  build:
    acitivated: '&aBuildmode wurde für dich aktiviert.'
    deacitivated: '&cBuildmode wurde für dich deaktiviert.'
  serverkick:
    full: '&cServer ist full, kaufe dir Plugins auf dyroxplays.de lol'
    kickedpremium: '&cDu wurdest von einem Premium-Spieler gekickt, kaufe dir Plugins auf dyroxplays.de lol'
    fullfull: '&cServer ist full'
  forcemap:
    usage: '&cNutze: /forcemap <Mapname>'
    mapnotexit: '&c%map% existiert nicht'
    error: '&cKonnte nicht forcemappen, evtl wird aktuell auf der Map gespielt oder der letzte Forcemap ist nicht länger als 1 Minute her.'
  noperm: '&cDazu hast du keine Rechte.'
  help: '&e/buildffa setspawn <MapName> &7- Setzt den Spawn für die Map%n%&e/buildffa setdeath <MapName> &7- Setzt die Respawn Höhe für die Map%n%&e/buildffa setbuild <MapName> &7- Setzt die Bauhöhe%n%&e/buildffa startmap <MapName> &7- Setzt Map als Anfangsmap ein%n%&e/forcemap <MapName> &7- Map wechseln auf Mapname%n%&e/settopwall <Rank> &7- Setzt die TopWand%n%'

# /stats Statistiken-Format
stats:
- '&eStats von %player%'
- '&fKills: %kills%'
- '&fDeaths: %deaths%'
- '&fK/D: %kd%'
- '&fRang: %rang%'
```
