# Utility-Commands

Komfort- und Admin-Befehle: Heilen, Fliegen, Godmode, Inventar-Verwaltung und Info-Befehle. Cooldowns und Kosten sind pro Befehl in `modules/utility.yml` einstellbar.

## Gesundheit & Status

| Command | Syntax | Permission (selbst) | Permission (andere) | Default | Beschreibung |
|---|---|---|---|---|---|
| `/heal` | `/heal [spieler]` | `util.heal` | `util.heal.others` | `false` | Voll heilen und Feuer löschen |
| `/feed` | `/feed [spieler]` | `util.feed` | `util.feed.others` | `false` | Hunger und Sättigung auffüllen |
| `/god` | `/god [spieler]` | `util.god` | `util.god.others` | `false` | Unverwundbarkeit umschalten (bleibt bei `god-persist` über Neustarts) |
| `/fly` | `/fly [spieler]` | `util.fly` | `util.fly.others` | `false` | Flugmodus umschalten (wird nicht gespeichert) |
| `/speed` | `/speed <wert> [spieler]` | `util.speed` | `util.speed.others` | `false` | Geh-/Fluggeschwindigkeit 0 bis 10 (1 = normal) |

## Spielmodus

| Command | Syntax | Permission (selbst) | Permission (andere) | Default | Beschreibung |
|---|---|---|---|---|---|
| `/gamemode` | `/gamemode <modus> [spieler]` (Alias `/gm`) | `util.gamemode` | `util.gamemode.others` | `false` | Spielmodus setzen (`survival`/`s`/`0`, `creative`/`c`/`1`, `adventure`/`a`/`2`, `spectator`/`sp`/`3`) |
| `/gmc` `/gms` `/gma` `/gmsp` | `/gmc [spieler]` usw. | `util.gamemode` | `util.gamemode.others` | `false` | Kurzformen für die vier Modi |

## Inventar & Items

| Command | Syntax | Permission (selbst) | Permission (andere/alles) | Default | Beschreibung |
|---|---|---|---|---|---|
| `/repair` | `/repair [all\|hand]` (Alias `/fix`) | `util.repair` | `util.repair.all` | `false` | Item in der Hand reparieren, mit `all` das ganze Inventar |
| `/hat` | `/hat` | `util.hat` | - | `false` | Item in den Helm-Slot tauschen (auch mit getragenem Helm) |
| `/clear` | `/clear [spieler]` (Alias `/ci`) | `util.clear` | `util.clear.others` | `false` | Inventar leeren |
| `/clearenderchest` | `/clearenderchest [spieler]` (Alias `/clearec`) | `util.clearenderchest` | `util.clearenderchest.others` | `false` | Ender-Truhe leeren |
| `/ec` | `/ec` (Alias `/enderchest`) | `util.ec` | - | `true` | Eigene Ender-Truhe virtuell öffnen |
| `/invsee` | `/invsee <spieler>` | `util.invsee` | - | `false` | Fremdes Inventar ansehen/bearbeiten |
| `/endersee` | `/endersee <spieler>` (Alias `/ecsee`) | `util.endersee` | - | `false` | Fremde Ender-Truhe ansehen/bearbeiten |
| `/exp` | `/exp <give\|take\|set> <spieler> <menge>` (Alias `/xp`) | - | `util.exp` | `false` | XP-Level nach Minecraft-Formel verwalten |
| `/hunger` | `/hunger <spieler> <wert>` | - | `util.hunger` | `false` | Hunger-Level setzen (0 bis 20) |

## Virtuelle Workbenches

| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
| `/workbench` | `/workbench` (Alias `/craft`, `/wb`) | `util.workbench` | `true` | Virtuelle Werkbank |
| `/anvil` | `/anvil` | `util.anvil` | `true` | Virtueller Amboss |
| `/trash` | `/trash` (Alias `/disposal`) | `util.trash` | `true` | Müll-Inventar (Inhalt wird beim Schließen gelöscht) |

Weitere Workstations bündelt das [Stations](stations.html)-Modul samt Hub-GUI.

## Info-Commands

| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
| `/near` | `/near [radius]` | `util.near` | `true` | Nahe Spieler nach Entfernung sortiert (Vanish-Spieler ausgeblendet) |
| `/ping` | `/ping [spieler]` (Alias `/latency`) | `util.ping` | `true` | Latenz farbig kodiert; andere: `util.ping.others` |
| `/tps` | `/tps` | `util.tps` | `false` | TPS der letzten 1/5/15 Minuten plus MSPT |
| `/list` | `/list` (Alias `/online`, `/who`) | `util.list` | `true` | Online-Spieler, mit LuckPerms nach Gruppen sortiert |
| `/whois` | `/whois <spieler>` (Alias `/playerinfo`) | `util.whois` | `false` | UUID, Gesundheit, Standort, Gamemode, Level; IP nur mit `util.whois.ip` |
| `/seen` | `/seen <spieler>` (Alias `/lastseen`) | `util.seen` | `true` | Letzte Online-Zeit (auch offline Spieler) |

> **Tipp:** `/trash` ist die sichere Item-Entsorgung ohne Lava oder Fallschaden.

## Konfiguration (modules/utility.yml)

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

utility:
  # Speichert den Godmode-Status über Neustart/Reload hinweg.
  god-persist: true
  # Standard- und Höchst-Suchradius für /near in Blöcken.
  near-default-radius: 200
  near-max-radius: 500
  # Deaktiviert einzelne Befehle, ohne das Modul abzuschalten.
  # Beispiel: ["heal", "repair", "anvil"]
  disabled-commands: []

cooldown:
  commands:
    # Sekunden pro Befehl. 0 = kein Cooldown. Für nicht gelistete Befehle
    # (z. B. ec, hat, exp) einfach einen Eintrag mit dem Befehlsnamen ergänzen.
    heal: 0
    feed: 0
    repair: 0
    workbench: 0
    anvil: 0
    trash: 0
    near: 0

cost:
  commands:
    # Preis pro Befehl. 0 = kostenlos.
    heal: 0
    feed: 0
    repair: 0
    workbench: 0
    anvil: 0
```

## Komplette Beispiel-Config

```yaml
enabled: true

utility:
  god-persist: false
  near-default-radius: 100
  near-max-radius: 250
  disabled-commands:
    - hunger

cooldown:
  commands:
    heal: 300
    feed: 120
    repair: 600
    workbench: 0
    anvil: 0
    trash: 0
    near: 30

cost:
  commands:
    heal: 50.0
    feed: 25.0
    repair: 200.0
    workbench: 0
    anvil: 0
```
