# Sleep

Die Nacht wird übersprungen, sobald ein Prozentsatz der zählbaren Spieler schläft. Der Prozentsatz hängt vom Wetter ab (klar, Regen, Gewitter), [AFK](afk.html)-Spieler können ausgeschlossen werden. Das Plugin steuert den Skip selbst und setzt dafür den Vanilla-Gamerule `playersSleepingPercentage` außer Kraft.

## Commands

| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
| `/sleep info` | `/sleep info` | `sleep.info` | `true` | Status der Welt: Schläfer, zählbare Spieler, benötigte Anzahl, Wetter, Einstellungen |
| `/sleep reload` | `/sleep reload` | `sleep.admin` | `false` | Lädt die Sleep-Konfiguration neu |

## Weitere Permissions

| Permission | Default | Beschreibung |
|---|---|---|
| `sleep.use` | `true` | Zählt beim Schlafen zur Schwelle |
| `sleep.bypass` | `false` | Wird aus der Berechnung ausgenommen (wie AFK) |

**Zählbar** sind Spieler in der Welt im Survival/Adventure-Modus, die nicht vanished, nicht AFK (bei aktivem AFK-Ausschluss) und nicht per `sleep.bypass` ausgenommen sind. Die benötigte Anzahl wird immer aufgerundet, mindestens 1.

> **Tipp:** `/sleep info` zeigt Admins sofort, warum die Nacht gerade nicht übersprungen wird (zu viele AFK-Spieler, falsche Welt, Schwelle nicht erreicht).

> **Tipp:** Bei sehr großen Servern (200+ Spieler) `skip-speed` niedriger stellen (40 bis 60), damit der Zeitraffer nicht ruckelt.

## Konfiguration (modules/sleep.yml)

```yaml
# Schaltet das Sleep-Modul ein oder aus.
enabled: true

sleep:
  # Sekundärer Schalter für die Sleep-Verarbeitung.
  enabled: true
  # Benötigter Prozentsatz zählbarer Spieler in Betten, je nach Wetter.
  # Beispiel bei 35: 3 Spieler online = 2 müssen schlafen (aufgerundet).
  normal-percentage: 35
  rain-percentage: 40
  storm-percentage: 50
  # Zeitraffer-Geschwindigkeit des Nacht-Skips (10 bis 200). Am Morgen
  # wird das Wetter gecleart und alle Schläfer aufgeweckt. Steigt ein
  # Spieler vorher aus dem Bett und die Schwelle ist nicht mehr erreicht,
  # bricht der Skip ab.
  skip-speed: 80
  # Fortschrittsbalken in der Actionbar während des Skips.
  actionbar-progress: true
  afk:
    # Schließt AFK-Spieler aus der Berechnung aus.
    enabled: false
    # timer = eingebautes AFK-System (empfohlen), permission = externer
    # AFK-Marker eines anderen Plugins, essentials = Essentials-AFK-Status.
    method: timer
    # Nur bei method timer: Sekunden bis ein Spieler als AFK gilt.
    timeout-seconds: 300
  # blacklist = Sleep überall außer in den gelisteten Welten.
  # whitelist = Sleep nur in den gelisteten Welten.
  world-mode: blacklist
  worlds: []
```

## Komplette Beispiel-Config

```yaml
enabled: true

sleep:
  enabled: true
  normal-percentage: 30
  rain-percentage: 25
  storm-percentage: 20
  skip-speed: 60
  actionbar-progress: true
  afk:
    enabled: true
    method: timer
    timeout-seconds: 180
  world-mode: blacklist
  worlds:
    - world_nether
    - the_end
```
