Parkour aktualisiert

2026-02-28 09:34:21 +00:00
parent 3437ecaaff
commit 12512391d6

@@ -5,90 +5,129 @@ Das Parkour-System von NexusLobby ist ein modulares, partikelbasiertes System, d
## 🛠 Features
- **NPC-Interaktion**: Startet ausschließlich durch Rechtsklick auf einen markierten ArmorStand.
- **Zwei Strecken**: Es können zwei vollständige Parcours (Strecke 1 & 2) hinterlegt werden. Beim Start wird **zufällig** eine der beiden gewählt beide müssen die gleiche Anzahl an Checkpoints haben.
- **Dynamische Checkpoints**: Werden per Befehl gesetzt und durch blaue Partikel (`SOUL_FIRE_FLAME`) markiert.
- **Ziel-Erkennung**: Grüne Partikel (`HAPPY_VILLAGER`) erscheinen erst, wenn alle Checkpoints passiert wurden.
- **Automatischer Reset**: Fällt ein Spieler unter Höhe Y=50, wird er zum letzten Checkpoint teleportiert.
- **Live-Timer**: Die aktuelle Laufzeit wird in Echtzeit in der Actionbar angezeigt.
- **Leaderboard**: Speichert die Top 10 Bestzeiten in der Datenbank.
- **Leaderboard**: Speichert die Top 10 Bestzeiten in der `parkour.yml`.
- **Gadget-Schutz**: Spieler im aktiven Parkour sind immun gegen Freeze-Ray, Meteorit und Enterhaken anderer Spieler.
---
## 📋 Einrichtung & Workflow
> Alle Setup-Befehle erfordern am Ende eine Strecken-Nummer: **`1`** oder **`2`**.
### 1. Den Start-NPC markieren
Platziere einen ArmorStand als Start-Figur. Schau ihn an und nutze:
Platziere einen ArmorStand als Start-Figur. Schau ihn direkt an und nutze:
```
/nexus parkour setstart
/nexus parkour setstart <1|2>
```
- Markiert den NPC intern mit dem Tag `parkour_npc`.
- Speichert deine aktuelle Position als Startpunkt für den Timer.
- Markiert den ArmorStand intern mit dem Tag `parkour_npc` (wird von beiden Strecken geteilt).
- Speichert deine aktuelle Position als Startpunkt der gewählten Strecke.
### 2. Die Strecke definieren
Laufe den Parkour-Weg ab. An jedem Punkt, der als Zwischenspeicher dienen soll, nutze:
Laufe den Parcours-Weg ab. An jedem Zwischenpunkt nutze:
```
/nexus parkour setcheckpoint
/nexus parkour setcheckpoint <1|2>
```
- Das System nummeriert die Punkte automatisch (Checkpoint #1, #2, etc.).
- Spieler müssen diese Punkte in der exakten Reihenfolge passieren.
- Checkpoints werden automatisch nummeriert (#1, #2, …).
- Spieler müssen die Punkte in exakter Reihenfolge passieren.
- **Wichtig:** Beide Strecken sollten die gleiche Anzahl an Checkpoints haben.
### 3. Das Ziel festlegen
Gehe zum Endpunkt deines Parkours und nutze:
Gehe zum Endpunkt und nutze:
```
/nexus parkour setfinish
/nexus parkour setfinish <1|2>
```
- Setzt den Punkt, an dem der Timer stoppt und die Zeit gewertet wird.
### 4. Status prüfen
```
/nexus parkour info
```
Zeigt an, welche Strecken vollständig konfiguriert sind (✔/✘) und wie viele Checkpoints sie haben.
---
## 🏆 Leaderboard & Placeholder
Um die Top 10 Bestzeiten in Hologrammen oder im Scoreboard anzuzeigen, nutzt das Plugin die PlaceholderAPI.
| Placeholder | Beschreibung |
|-------------|--------------|
| `%nexuslobby_parkour_top%` | Gibt die vollständige Liste der Top 10 Spieler inklusive Zeiten aus. |
| `%nexuslobby_parkour_top%` | Gibt die vollständige Top-10-Liste mit Spielernamen und Zeiten aus. |
**Beispiel für ein Hologramm:**
```
/holo create parkour none %nexuslobby_parkour_top%
```
---
## 💻 Befehlsreferenz
### Für Administratoren
| Befehl | Beschreibung |
|--------|--------------|
| `/nexus parkour setstart` | Markiert den NPC und setzt die Start-Position. |
| `/nexus parkour setcheckpoint` | Fügt einen neuen Checkpoint an der aktuellen Position hinzu. |
| `/nexus parkour setfinish` | Setzt das Ziel des Parkours. |
| `/nexus parkour nexus parkour removeall` | Löscht die gesamte Strecke (Checkpoints & Ziel), um einen Neubau zu ermöglichen. |
| `/nexus parkour nexus parkour clear` | Löscht alle gespeicherten Bestzeiten (Top 10). |
| `/nexus parkour setstart <1\|2>` | Markiert den NPC und setzt die Start-Position der gewählten Strecke. |
| `/nexus parkour setcheckpoint <1\|2>` | Fügt einen Checkpoint an der aktuellen Position zur gewählten Strecke hinzu. |
| `/nexus parkour setfinish <1\|2>` | Setzt das Ziel der gewählten Strecke. |
| `/nexus parkour info` | Zeigt den Konfigurations-Status beider Strecken. |
| `/nexus parkour removeall` | Löscht **beide** Strecken vollständig (Checkpoints & Ziel). |
| `/nexus parkour clear` | Löscht alle gespeicherten Bestzeiten (Top 10). |
### Für Spieler
| Befehl | Beschreibung |
|--------|--------------|
| `/nexus parkour reset` | Bricht den aktuellen Lauf ab und blendet Timer/Partikel aus. |
| `/nexus parkour reset` | Bricht den aktuellen Lauf ab. |
| `/spawn` | Teleportiert zum Lobby-Spawn und bricht den Parkour ab. |
## 🔒 Berechtigungen (Permissions)
---
- `nexuslobby.admin`: Voller Zugriff auf alle Setup-Befehle (`/set...`) sowie das Löschen der Strecke und der Statistiken.
- `nexuslobby.silentjoin`: Erlaubt das Betreten des Servers ohne Join-Nachricht.
## 🔒 Berechtigungen
## ⚠️ Wichtige Hinweise zur Verwaltung
| Permission | Beschreibung |
|------------|--------------|
| `nexuslobby.admin` | Vollzugriff auf alle Setup-Befehle und Verwaltungsfunktionen. |
- **Sicherheit**: Die Konfiguration erfolgt ausschließlich über In-Game-Befehle. Manuelle Änderungen an den Konfigurationsdateien sind nicht vorgesehen, um die Datenintegrität zu schützen.
- **Streckenänderung**: Wenn du eine Strecke ändern möchtest, nutze `/nexus parkour removeall`. Dies bereinigt die Konfiguration vollständig, sodass du sofort mit `/nexus parkour setcheckpoint` eine neue Route von Grund auf bauen kannst.
- **Absturzsicherung**: Der automatische Teleport zurück zum Checkpoint greift standardmäßig bei Y=50. Achte darauf, dass dein Parkour über dieser Höhe gebaut wird.
---
## ⚠️ Wichtige Hinweise
- **Zwei Strecken, gleiche Länge:** Das System wählt beim Start zufällig eine Strecke. Haben beide eine unterschiedliche Checkpoint-Anzahl, erscheint eine Warnung im Server-Log, der Parcours startet trotzdem.
- **Nur eine Strecke konfiguriert:** Ist nur Strecke 1 oder nur Strecke 2 vollständig eingerichtet, wird automatisch die verfügbare gewählt kein Fehler.
- **Streckenänderung:** Nutze `/nexus parkour removeall`, um beide Strecken zu löschen und komplett neu zu beginnen. Laufende Runs werden dabei automatisch beendet.
- **Absturzsicherung:** Der Teleport zum Checkpoint greift bei Y < 50. Baue deinen Parcours oberhalb dieser Höhe.
- **Gadget-Schutz:** Spieler, die aktiv einen Parcours absolvieren, können nicht durch Freeze-Ray oder Meteorit gestört werden.
---
## 📊 Datenstruktur (parkour.yml)
Das System verwaltet die Daten automatisch. Hier ein Einblick in die Struktur:
```yaml
tracks:
1:
start: # Startposition Strecke 1
finish: # Ziel Strecke 1
checkpoints:
1: ...
2: ...
2:
start: # Startposition Strecke 2
finish: # Ziel Strecke 2
checkpoints:
1: ...
2: ...
- **locations**: Speichert Start, Ziel und alle durchnummerierten Checkpoints.
- **besttimes**: Speichert die schnellsten Zeiten verknüpft mit der UUID des Spielers.
- **names**: Speichert die Spielernamen für die Anzeige im Top-10-Leaderboard.
besttimes:
: # Schnellste Zeit des Spielers (streckenübergreifend)
names:
:
```