README.md aktualisiert
This commit is contained in:
92
README.md
92
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: `[<prefix>]` (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.
|
||||||
|
Reference in New Issue
Block a user