From 6554b257af4e66997c4ed788089250cd850ca8fd Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sat, 26 Jul 2025 19:56:49 +0000 Subject: [PATCH] README.md aktualisiert --- README.md | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be534ba..575f3ac 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,92 @@ -# Minecraft-PlayerStatusSign +# PlayerStatusSign Plugin +## Beschreibung + +**PlayerStatusSign** ist ein Bukkit/Spigot-Plugin für Minecraft-Server, das es ermöglicht, Schilder zu erstellen, die den Online-, Offline- oder AFK-Status eines Spielers anzeigen. Spieler können durch Interaktion mit diesen Schildern Statistiken wie Spielzeit, Tode, Kills, abgebaute Blöcke und gelaufene Distanz einsehen. Das Plugin bietet zudem Funktionen wie AFK-Erkennung, Fake-Offline-Modus und Gamemode-Wechsel bei AFK-Status. + +## Hauptfunktionen + +- **Status-Schilder**: Schilder zeigen den Status eines Spielers (Online, AFK, Offline mit letztem Login-Datum) an. +- **AFK-Erkennung**: Automatische Erkennung von Inaktivität basierend auf einer konfigurierbaren Zeitspanne (Standard: 5 Minuten). +- **Fake-Offline-Modus**: Spieler können sich als offline anzeigen lassen, obwohl sie online sind. +- **Statistik-GUI**: Rechtsklick auf ein Schild öffnet eine GUI mit Spielerstatistiken (Spielzeit, Tode, Kills, abgebaute Blöcke, gelaufene Distanz). +- **Konfiguration**: Anpassbare Farben, Nachrichten, Zeitformate und AFK-Optionen in der `config.yml`. +- **Datenpersistenz**: Speichert Schild- und Spielerdaten in `playerstatussign_signs.yml` und `playerstatussign_players.yml`. + +## Befehle + +- **/statussign [reload|help]**: + - `reload`: Lädt Konfiguration und Daten neu (benötigt `statussign.admin`). + - `help`: Zeigt die Hilfe an. +- **/statusafk**: Schaltet den AFK-Status des Spielers um (benötigt `statussign.admin`). +- **/statusoffline**: Setzt den Spieler auf Fake-Offline (benötigt `statussign.admin`). +- **/statusonline**: Hebt den Fake-Offline-Status auf (benötigt `statussign.admin`). + +## Berechtigungen + +- **statussign.admin**: Erlaubt das Erstellen/Entfernen von Schildern, Verwenden von Befehlen und Ändern des AFK-/Offline-Status. +- **statussign.use**: Erlaubt das Öffnen der Statistik-GUI durch Rechtsklick auf Schilder. + +## Schild-Erstellung + +1. Platziere ein Schild. +2. Schreibe in die erste Zeile: `[]` (Standard: `[Status]`). +3. Schreibe in die zweite Zeile den Spielernamen. +4. Das Schild wird automatisch mit dem Status des Spielers aktualisiert. + +**Hinweis**: Nur Spieler mit `statussign.admin` können Schilder erstellen oder entfernen (Entfernen erfordert Schleichen). + +## Konfiguration + +Die Konfigurationsdatei (`config.yml`) enthält folgende Einstellungen: + +```yaml +prefix: "Status" # Präfix für Schilder +colors: + online: "&a" # Farbe für Online-Status + afk: "&e" # Farbe für AFK-Status + offline: "&c" # Farbe für Offline-Status + player: "&9" # Farbe für Spielernamen +date-format: "dd.MM.yyyy HH:mm" # Datumsformat für Offline-Status +afk-timeout-seconds: 300 # Inaktivitätsschwelle für AFK (in Sekunden) +afk-change-gamemode: true # Wechselt den Gamemode bei AFK zu Adventure + + +## Datenstruktur + +- **playerstatussign_signs.yml**: Speichert Schildpositionen und zugehörige Spielernamen. +- **playerstatussign_players.yml**: Speichert Spielerstatistiken und letzte Login-Zeiten. + +## Technische Details + +- **Sprache**: Java, entwickelt für Bukkit/Spigot. +- **Abhängigkeiten**: Keine externen Abhängigkeiten außer der Bukkit-API. +- **Version**: 1.0.6 (wie im Code angegeben). +- **Autor**: M_Viper +- **Ereignisse**: + - `SignChangeEvent`: Erstellung von Status-Schildern. + - `PlayerInteractEvent`: Öffnen der Statistik-GUI. + - `BlockBreakEvent`: Entfernen von Schildern. + - `PlayerMoveEvent`: Erkennung von Spielerbewegungen für AFK-Status. + - `PlayerQuitEvent`: Speichern von Statistiken beim Verlassen. +- **Scheduler**: Aktualisiert Schilder und prüft AFK-Status alle 5 Sekunden. + +## Installation + +1. Kompiliere den Code oder lade die `.jar`-Datei. +2. Platziere die `.jar` im `plugins`-Ordner deines Servers. +3. Starte den Server, um die Konfigurationsdateien zu generieren. +4. Passe `config.yml` nach Bedarf an. +5. Starte den Server neu oder verwende `/statussign reload`. + +## Bekannte Einschränkungen + +- Fehlerbehandlung bei ungültigen Welten oder beschädigten Konfigurationsdateien könnte verbessert werden. +- Keine Unterstützung für mehrere Schilder pro Spieler an derselben Position ohne zusätzliche Logik. +- GUI-Statistiken sind auf vordefinierte Werte beschränkt (Spielzeit, Tode, Kills, Blöcke, Distanz). + +## Fehlerbehebung + +- **Plugin lädt nicht**: Überprüfe die Server-Konsole auf Fehler (z. B. ungültige `config.yml`). +- **Schilder aktualisieren nicht**: Stelle sicher, dass der Scheduler läuft und die Schildpositionen korrekt in `playerstatussign_signs.yml` gespeichert sind. +- **GUI zeigt falsche Daten**: Überprüfe, ob die Statistiken in `playerstatussign_players.yml` korrekt gespeichert werden.