> 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/dailyquests/konfiguration/eigene-quests.md).

# Eigene Quests

In diesem Guide lernst du, wie du eigene tägliche Lieferquests für das **DailyQuests**-Plugin erstellst und anpasst.

***

## Grundlagen des Quest-Systems

Das Questsystem funktioniert auf Basis von **Abgabe-Quests** (Delivery Quests):

1. Das System wählt zufällig eine konfigurierte Quest aus und zeigt sie dem Spieler in der GUI an.
2. Der Spieler muss das geforderte Item sammeln (mit genau passendem Namen, Lore und Verzauberung).
3. Durch Anklicken der Quest im Menü (oder per Linksklick mit dem Item) gibt der Spieler die Quest ab und erhält die konfigurierte Belohnung (Geld/Tokens).

***

## Konfigurations-Struktur

Jede Quest wird in der `config.yml` unter dem Hauptschlüssel `quests` definiert. Die Quests werden fortlaufend nummeriert (z. B. `'1'`, `'2'`, `'3'`).

```yaml
quests:
  '1':
    material: 'MATERIALNAME'   # Minecraft-Material (z.B. DIAMOND, STONE)
    amount: 1                  # Anzahl der geforderten Gegenstände
    shortid: 0                 # Sub-ID (wichtig für ältere Versionen, z.B. Wolle-Farben)
    price: 150                 # Belohnung (Geld/Tokens) bei Abgabe
    name: 'Anzeigename'         # Custom Name des Items (optional)
    lore:                      # Custom Lore des Items (optional)
      - '&7Zeile 1'
    ench:                      # Custom Verzauberungen (optional)
      - 'ENCHANTMENT_NAME;STUFE' # Format: Name;Stufe (z.B. DURABILITY;3)
```

***

## Item-Vergleichsregeln beim Abgeben

Wenn ein Spieler ein Item abgibt, vergleicht das Plugin das Inventar-Item mit dem konfigurierten Quest-Item. Dabei gilt:

* ✅ **Material und Sub-ID (shortid)** müssen übereinstimmen.
* ✅ **Anzeigename (Display Name)** und **Lore (Beschreibung)** müssen exakt übereinstimmen (inklusive aller Farbcodes).
* ✅ **Verzauberungen** müssen exakt übereinstimmen.
* ❌ Die **Menge (Amount)** wird nicht auf exakte Übereinstimmung geprüft; der Spieler muss mindestens die geforderte Menge besitzen, überschüssige Items bleiben erhalten.

***

## Schritt-für-Schritt-Anleitung: Neue Quest hinzufügen

Hier siehst du, wie du beispielsweise eine Quest für das Abliefern von 5 verzauberten Diamantschwertern erstellst.

{% stepper %}
{% step %}

#### Quest-ID wählen

Finde die nächste freie Nummer unter `quests` (z. B. `'4'`).
{% endstep %}

{% step %}

#### Material & Belohnung konfigurieren

Als Material wählen wir `DIAMOND_SWORD`. Die Belohnung soll `1000` Coins betragen.
{% endstep %}

{% step %}

#### Verzauberungen & Namen bestimmen

Wir möchten, dass der Spieler ein Schwert mit Schärfe V (`DAMAGE_ALL;5`) und Haltbarkeit III (`DURABILITY;3`) abliefern muss. Der Name soll `&bKriegsklinge` lauten.
{% endstep %}

{% step %}

#### YAML in config.yml eintragen

Füge den Block zu deiner `config.yml` hinzu:

```yaml
quests:
  '4':
    material: DIAMOND_SWORD
    amount: 1
    shortid: 0
    price: 1000
    name: '&bKriegsklinge'
    lore:
      - '&7Eine geschmiedete Waffe'
      - '&7für die tägliche Quest.'
    ench:
      - 'DAMAGE_ALL;5'
      - 'DURABILITY;3'
```

{% endstep %}
{% endstepper %}
