> For the complete documentation index, see [llms.txt](https://chatsystem-wiki.gitbook.io/chatsystem-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chatsystem-wiki.gitbook.io/chatsystem-wiki/addons-lite-version-and-mod/advancement-addon.md).

# Advancement Addon

### 📋 Übersicht

**MoreAdvancements** ist ein Addon-Plugin für das ChatSystem, das benutzerdefinierte Advancements (Fortschritte) hinzufügt. Wenn Spieler bestimmte Aktionen zum ersten Mal ausführen, wird eine Nachricht im Chat angezeigt - ähnlich wie bei den Vanilla-Minecraft-Advancements.

Das Plugin benötigt das **ChatSystem** als Basis-Plugin und unterstützt optional **PlaceholderAPI** für erweiterte Platzhalter.

***

**Wichtig: Es kommen immer wieder neue Advancements hinzu mit Updates! Das sind nur mal die ersten!**

### 🎯 Verfügbare Advancements

#### 1. First Placed Block (Erster platzierter Block)

**Auslöser:** Sobald ein Spieler seinen ersten Block platziert (egal welcher Typ)

**Standard-Nachricht:**

text

```
%player_name% has made the advancement [First placed block]
```

**Hover-Text (nur über die Klammern):**

text

```
%player_name%'s first placed block was %first_placed_block%
```

**Eigene Platzhalter:**

* `%player_name%` - Name des Spielers
* `%first_placed_block%` - Der Name des ersten platzierten Blocks

***

#### 2. First Mob Killed (Erster getöteter Mob)

**Auslöser:** Sobald ein Spieler seinen ersten Mob tötet (egal welcher Typ)

**Standard-Nachricht:**

text

```
%player_name% has made the advancement [First mob killed]
```

**Hover-Text (nur über die Klammern):**

text

```
%player_name%'s first mob killed was %first_mob_killed%
```

**Eigene Platzhalter:**

* `%player_name%` - Name des Spielers
* `%first_mob_killed%` - Der Name des ersten getöteten Mobs

***

#### 3. First Village (Erstes Dorf)

**Auslöser:** Sobald ein Spieler zum ersten Mal ein Dorf betritt

**Standard-Nachricht:**

text

```
%player_name% has made the advancement [First Village]
```

**Hover-Text (nur über die Klammern):**

text

```
%player_name% discovered their first village!
```

**Eigene Platzhalter:**

* `%player_name%` - Name des Spielers
* `%first_village_name%` - Name des ersten gefundenen Dorfes

**Erkennung:** Das Plugin erkennt Dörfer durch:

* Dorfbewohner in der Nähe (64 Blöcke Radius)
* Glocken in der Nähe
* Typische Dorf-Blöcke (Lesepult, Komposter, Kartentisch, etc.)

***

#### 4. First Player Kill (Erster Spieler-Kill)

**Auslöser:** Sobald ein Spieler zum ersten Mal einen anderen Spieler tötet

**Standard-Nachricht:**

text

```
%player_name% has made the advancement [First player kill]
```

**Hover-Text (nur über die Klammern):**

text

```
%killer_name% killed %victim_name% using %death_cause%
```

**Eigene Platzhalter:**

* `%killer_name%` - Name des Mörders
* `%victim_name%` - Name des Opfers
* `%death_cause%` - Todesursache (z.B. "Diamond Sword", "their bare hands", "a bow", "fall damage", "lava", etc.)

***

### ⚙️ Konfiguration (config.yml)

Jedes Advancement kann komplett individuell angepasst werden:

yaml

```
advancements:
  first-placed-block:
    enabled: true                    # Advancement aktivieren/deaktivieren
    message: "&e%player_name% &7has made the advancement &a[First placed block]"
    hover: "&e%player_name%&7's first placed block was &a%first_placed_block%"
    hover-enabled: true              # Hover-Text anzeigen
    sound-enabled: false             # Sound abspielen (standardmäßig aus)
    sound: "ENTITY_PLAYER_LEVELUP"   # Sound-Typ
    sound-volume: 1.0                # Sound-Lautstärke
    sound-pitch: 1.0                 # Sound-Tonhöhe
```

***

### 🎨 Farbcodes

Alle Nachrichten und Hover-Texte unterstützen volle Farbcode-Formatierung:

| Farbcode-Typ           | Beispiel              | Ergebnis                       |
| ---------------------- | --------------------- | ------------------------------ |
| Standard `&` Farbcodes | `&aGrün &cRot &lFett` | Farbiger und formatierter Text |
| Hex-Farben             | `&#FF0000Roter Text`  | Benutzerdefinierte Hex-Farben  |
| Einfache Hex-Farben    | `#00FF00Grüner Text`  | Alternative Hex-Schreibweise   |

***

### 📢 Anzeige-Optionen

yaml

```
settings:
  display-type: "chat"        # "chat" oder "actionbar"
  actionbar-duration: 5       # Anzeigedauer in Sekunden (nur bei actionbar)
```

* **Chat:** Das Advancement wird als Chat-Nachricht an alle Spieler mit der entsprechenden Permission gesendet
* **Actionbar:** Das Advancement erscheint zusätzlich in der Actionbar (über der Hotbar)

***

### 🎵 Sounds

Jedes Advancement kann einen eigenen Sound haben. Sounds sind **standardmäßig deaktiviert** und müssen manuell eingeschaltet werden:

yaml

```
sound-enabled: true
sound: "ENTITY_PLAYER_LEVELUP"
sound-volume: 1.0
sound-pitch: 1.0
```

Verfügbare Sounds (Beispiele):

* `ENTITY_PLAYER_LEVELUP` - Level-Up Sound
* `ENTITY_EXPERIENCE_ORB_PICKUP` - XP-Orb Sound
* `BLOCK_NOTE_BLOCK_PLING` - Glockenton
* `ENTITY_ENDER_DRAGON_DEATH` - Enderdrachen-Tod
* `UI_TOAST_CHALLENGE_COMPLETE` - Advancement-Sound

***

### 📋 Befehle

| Befehl                   | Beschreibung                                               | Permission                |
| ------------------------ | ---------------------------------------------------------- | ------------------------- |
| `/ma reload`             | Lädt die Konfiguration neu                                 | `moreadvancements.reload` |
| `/ma test <Advancement>` | Testet ein bestimmtes Advancement (nur für dich sichtbar!) | `moreadvancements.test`   |
| `/ma list`               | Zeigt alle Advancements mit Status an                      | `moreadvancements.list`   |
| `/ma help`               | Zeigt die Hilfe an                                         | `moreadvancements.list`   |

***

### 🧪 Test-Modus

Mit `/ma test <Advancement>` kannst du jedes Advancement testen, ohne dass es von anderen Spielern gesehen wird:

text

```
/ma test first-placed-block
```

Das Plugin ersetzt dabei die Platzhalter mit Beispielwerten:

* `%first_placed_block%` → "Stone"
* `%first_mob_killed%` → "Zombie"
* `%first_village_name%` → "Plains Village"
* `%death_cause%` → "Diamond Sword"

Die Ausgabe zeigt eine detaillierte Vorschau:

text

```
╔══════════════════════════════════════╗
║ Test Advancement                    ║
╠══════════════════════════════════════╣
║ Message:                            ║
║ Rocky_QDH has made the advancement  ║
║ [First placed block]                ║
╠══════════════════════════════════════╣
║ Hover-Text:                         ║
║ Rocky_QDH's first placed block was  ║
║ Stone                               ║
╚══════════════════════════════════════╝

✅ Test-Advancement wurde nur an dich gesendet!
💡 Tipp: Fahre mit der Maus über die [Klammern] für den Hover-Text!
```

***

### 🔒 Berechtigungen (Permissions)

| Permission                | Standard | Beschreibung                         |
| ------------------------- | -------- | ------------------------------------ |
| `moreadvancements.*`      | OP       | Alle MoreAdvancements Berechtigungen |
| `moreadvancements.reload` | OP       | Darf die Konfiguration neu laden     |
| `moreadvancements.test`   | OP       | Darf Advancements testen             |
| `moreadvancements.list`   | true     | Darf die Advancement-Liste sehen     |
| `moreadvancements.see`    | true     | Darf Advancements im Chat sehen      |

***

### 🔌 PlaceholderAPI Integration

Wenn PlaceholderAPI installiert ist, können ALLE PAPI-Platzhalter in den Nachrichten und Hover-Texten verwendet werden:

text

```
%player_name% has made the advancement [First placed block]
He has %vault_balance% money!
He is in world %player_world%
```

<a href="/pages/JsKd452Nu8XTrHz68zaF" class="button primary" data-icon="house-chimney-window">Home</a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://chatsystem-wiki.gitbook.io/chatsystem-wiki/addons-lite-version-and-mod/advancement-addon.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
