# SurvivalPlus

![Minecraft Plugin](https://img.shields.io/badge/Minecraft-Plugin-green)
![Version](https://img.shields.io/badge/version-1.0.9-blue)
![Author](https://img.shields.io/badge/author-M_Viper-yellow)

**SurvivalPlus** ist ein Minecraft-Plugin zur Verbesserung des Survival-Erlebnisses.  
Es bietet Homes, Teleports, Inventar-/Enderchest-Verwaltung, Claims (Anti-Grief), Freundeslisten, Shop-System, Loot-Kisten, Tablist-Anpassungen und viele Komfort-Utilities.

---

## ⚡ Highlights / Features

- Homes & Warps (persönliche Warps, Home-Management)  
- Teleportation & Anfrage-System (`/tpa`, `/tpaccept`, `/tpdeny`)  
- Claim-System zur Land-Sicherung (trust/untrust, create/delete, info, list)  
- Inventar- & Enderchest-Verwaltung (öffnen von Fremd-Inventaren, Admin-Tools)  
- Shop-System & Lootchests (Verwaltung, Teleport zu Lootchests)  
- CommandBlocker & Server-Utilities (clearchat, clearitems, closedoors, lock)  
- Debug-Logging (optionale `debug-logging` in config, Debug/debug.log & Debug/console.log)  
- Tablist (animiert / konfigurierbar über `tablist.yml`)  
- bStats Unterstützung (Statistiken)

---

## 🛠 Komplette Befehlsübersicht

> Hinweis: In `plugin.yml` sind alle Commands definiert — hier die Übersicht gruppiert nach Kategorie.

### Allgemein / Haupt
| Befehl | Nutzung | Permission |
|---|---:|:---|
| `/sp` | Hauptbefehl (CommandBlocker, reload, info, share, help u.v.m.) | `survivalplus.sp` |
| `/help` (alias über `/sp help`) | Hilfe / Übersicht | `survivalplus.sp` |

### Item & Utility
| Befehl | Usage | Permission |
|---|---:|:---|
| `/ir <neuer_name>` | Item umbenennen (Item in Hand) | `survivalplus.itemrename` |
| `/workbench` | Öffnet Werkbank-GUI | `survivalplus.workbench` |
| `/anvil` | Öffnet Amboss-GUI | `survivalplus.anvil` |
| `/trash` | Öffnet Mülleimer | `survivalplus.trash` |
| `/showarmorstands` | Alle (debug) ArmorStands sichtbar machen | `survivalplus.showarmorstands` |
| `/cleardebugarmorstands` | Entfernt Debug-ArmorStands | `survivalplus.cleardebugarmorstands` |
| `/leashcount` | Anzahl geleinter Tiere anzeigen | `survivalplus.leashcount` |
| `/nick <Name>` | Nickname ändern (Farben/Hex möglich) | `survivalplus.nick` |
| `/nick off` | Entfernt den Nickname wieder (Zurücksetzen zum echten Namen). | `survivalplus.nick` |
| `/nick reset` | Alias für /nick off | `survivalplus.nick` |
| `/nick remove` | Alias für /nick off | `survivalplus.nick` |

### Teleportation
| Befehl | Usage | Permission |
|---|---:|:---|
| `/tp <Spieler>` | Teleport zu Spieler | `survivalplus.tp` |
| `/tphere <Spieler>` | Teleportiert Spieler zu dir | `survivalplus.tphere` |
| `/tpa <Spieler>` | Teleportanfrage senden | `survivalplus.tpa` |
| `/tpaccept` | Teleportanfrage annehmen | `survivalplus.tpaccept` |
| `/tpdeny` | Teleportanfrage ablehnen | `survivalplus.tpdeny` |
| `/back` | Zum letzten Todespunkt teleportieren | `survivalplus.back` |
| `/spawn` | Teleport zum Weltspawn | `survivalplus.spawn` |
| `/setspawn` | Setzt Server-Spawn | `survivalplus.setspawn` |
| `/setworldspawn` | Setzt Weltspawn (aktuelle Welt) | `survivalplus.setworldspawn` |

### Homes & Warps
| Befehl | Usage | Permission |
|---|---:|:---|
| `/sethome <name>` | Setzt Home | `survivalplus.homes.set` |
| `/delhome <name>` | Löscht Home | `survivalplus.homes.delete` |
| `/home <name>` | Teleport zu Home | `survivalplus.homes` |
| `/homelist` | GUI mit Homes öffnen | `survivalplus.homes.list` |
| `/setwarp <name>` | Persönlichen Warp setzen (Item in Hand) | `survivalplus.setwarp` |
| `/delwarp <name>` | Persönlichen Warp löschen | `survivalplus.delwarp` |
| `/warps` | GUI aller Warps öffnen | `survivalplus.warps` |

### Claim (Anti-Grief)
| Befehl | Usage | Permission |
|---|---:|:---|
| `/claim [unclaim / trust <player> / untrust <player>]` | Claim-Management (Trust/Untrust/Unclaim) | `survivalplus.claim.use` |
| `/claim create <name>` (falls implementiert) | Neues Claim anlegen | `survivalplus.claim.use` |
| `/claim delete <name>` (falls implementiert) | Claim löschen | `survivalplus.claim.use` |
| `/claim addmember <player>` | Spieler zum Claim hinzufügen | `survivalplus.claim.trust` |
| `/claim removemember <player>` | Spieler entfernen | `survivalplus.claim.trust` |
| `/claim info` | Claim-Informationen anzeigen | `survivalplus.claim.use` |
| `/claim list` | Eigene Claims auflisten | `survivalplus.claim.use` |

### CommandBlocker / Server-Management
| Befehl | Usage | Permission |
|---|---:|:---|
| `/sp cb add <cmd>` | Befehl zur Blockliste hinzufügen | `survivalplus.commandblocker.add` |
| `/sp cb remove <cmd>` | Befehl entfernen | `survivalplus.commandblocker.remove` |
| `/sp cb list` | Blockierte Befehle anzeigen | `survivalplus.commandblocker.list` |
| `/clearchat` | Chat löschen | `survivalplus.clearchat` |
| `/clearitems` | Items aufsammeln/entfernen | `survivalplus.clearitems` |
| `/closedoors <radius>` | Türen in Radius schließen | `survivalplus.closedoors` |
| `/splock lock /unlock/friendadd/friendremove [player]` | Kisten/Türen sperren / freigeben | `survivalplus.lock` |

### Shop, Loot & Trade
| Befehl | Usage | Permission |
|---|---:|:---|
| `/shop add <item> <basispreis> <lagerbestand>` | Shop verwalten | `survivalplus.shop` |
| `/lootchests` | Listet Loot-Kisten auf (Admins teleportieren) | `survivalplus.lootchests` |
| `/tploot <welt> <x> <y> <z>` | Teleportiere zu Loot-Kiste (Admin) | `survivalplus.lootchests` |
| `/trade <Spieler>` | Startet Handel | `survivalplus.trade` |
| `/tradeaccept <Spieler>` | Akzeptiert Handel | `survivalplus.tradeaccept` |

### Zeit, Gamemode & Admin
| Befehl | Usage | Permission |
|---|---:|:---|
| `/day` | Setzt Zeit auf Tag | `survivalplus.day` |
| `/night` | Setzt Zeit auf Nacht | `survivalplus.night` |
| `/gm <modus> [spieler]` (alias `gamemode`) | Spielmodus ändern | `survivalplus.gamemode` |
| `/heal [spieler]` | Heilt Spieler (oder andere) | `survivalplus.heal`, `survivalplus.heal.others` |

### Freundes-, Block- & Report-System
| Befehl | Usage | Permission |
|---|---:|:---|
| `/friend [add/accept/deny/list/del/tp] [Spieler]` | Freundschaften verwalten | `survivalplus.friend` |
| `/block <Spieler>` | Spieler blockieren | `survivalplus.block` |
| `/unblock <Spieler>` | Unblock | `survivalplus.unblock` |
| `/blocklist` | Blockierte Spieler anzeigen | `survivalplus.blocklist` |
| `/report <Spieler> [Grund]` | Spieler melden | `survivalplus.report` |
| `/showreport <Spieler>` | Reports anzeigen | `survivalplus.report.show` |
| `/clearreport <Spieler>` | Reports löschen | `survivalplus.report.clear` |

### Sonstiges
| Befehl | Usage | Permission |
|---|---:|:---|
| `/stats` | Spielerstatistiken anzeigen | `survivalplus.stats` |
| `/kit` | Starterkit erhalten | `survivalplus.kit` |
| `/startchallenge <name>` | Fun-Challenge starten | `survivalplus.startchallenge` |
| `/lootchests` | Übersicht über Lootkisten | `survivalplus.lootchests` |

---

## 🔐 Permissions (Kurzüberblick)
Vollständige Permission-Deklaration findest du in `plugin.yml`.  
Wichtige Permissions:

- `survivalplus.*` — Vollzugriff (OP)  
- `survivalplus.sp` — Zugriff auf `/sp` (Hauptbefehl)  
- `survivalplus.homes.*` — Homes verwalten  
- `survivalplus.claim.use` / `survivalplus.claim.trust` — Claim-Management & Trust  
- `survivalplus.shop` — Shopverwaltung  
- `survivalplus.lootchests` — Lootchest-Adminrechte  
- `survivalplus.notify` — Admin-Benachrichtigung bei Besitz von Command/Structure-Blocks  
- uvm. — siehe `plugin.yml` für die vollständige Liste

---

## ⚙ Installation

1. Lade die aktuelle `.jar` Datei herunter.  
2. Kopiere sie in den `plugins`-Ordner deines Servers.  
3. Starte den Server neu oder nutze `/reload`.  
4. Stelle sicher, dass **LuckPerms** und **PlaceholderAPI** installiert sind.

---

## 🐞 Debug & Fehlerberichte

- Aktiviere in `config.yml` `debug-logging: true` wenn du Probleme hast.  
  - `Debug/debug.log` — enthält Plugin-Fehler/Stacktraces (nur wenn aktiviert).  
  - `Debug/console.log` — dupliziert den Konsolenoutput (komplette Ausgabe), damit du diesen als Datei an Entwickler schicken kannst.

---

## 📜 Lizenz & Kontakt
Dieses Projekt ist frei für den privaten Gebrauch. Für Fragen, Bug-Reports oder Feature-Wünsche: **M_Viper** (Repo-Owner / Gitea).

---


