Files
Minecraft-PlayerStatusSign/README.md
2025-07-26 19:57:13 +00:00

4.7 KiB

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:

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.