# Trust & Schutz

Trust-Stufen, Commands, Auflösungsreihenfolge und alle Schutzregeln für Claims und Wildnis.

> **Tipp:** Trust wird nie gecacht. Jede Prüfung liest Trust-Liste und LuckPerms-Mitgliedschaft live, ein Entzug wirkt sofort, auch bei offener Kiste.

## Trust-Stufen

Aufsteigende Kette, jede höhere Stufe schließt die niedrigeren ein.

| Stufe | Command | Schließt ein |
|---|---|---|
| `ACCESS` | `/claim accesstrust` | Türen, Knöpfe, Hebel, Druckplatten, Glocke, Kuchen, Ackerland betreten |
| `CONTAINER` | `/claim containertrust` | + Kisten, Fässer, Öfen, Trichter, Komposter, Kisten-Reittiere |
| `BUILD` | `/claim trust` | + bauen/abbauen, Tiere, Rahmen/Gemälde, Portale, Eimer |
| `PERMISSION` | `/claim permissiontrust` | + Trust bis `BUILD` an andere vergeben |
| `MANAGE` | nur implizit | + Trust bis `PERMISSION` vergeben, `/claim restrictsubclaim` |

`MANAGE` gibt es nie über einen Command, sondern nur durch Besitz, `mira.claim.adminclaims` in einem besitzerlosen Claim, aktiven `/claim admin ignore`-Bypass oder Team-Rang `MANAGE_TEAM_CLAIM_FLAGS`.

> **Tipp:** `public` und `[gruppe]` sind keine eigenen Stufen, sondern Einträge in der Trust-Liste mit einer der Stufen oben. `/claim accesstrust public` lässt jeden Türen öffnen; `[vip]` gilt für die LuckPerms-Gruppe. Bei mehreren Treffern gewinnt die höchste Stufe.

## Commands

Alle wirken auf den Claim, in dem man steht. Kinder von `mira.claim.claims` (Default `true`).

| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
| Bau-Trust | `/claim trust <ziel>` | `mira.claim.claim.trust` | true | Vergibt `BUILD` |
| Zugriffs-Trust | `/claim accesstrust <ziel>` (`at`) | `mira.claim.claim.accesstrust` | true | Vergibt `ACCESS` |
| Container-Trust | `/claim containertrust <ziel>` (`ct`) | `mira.claim.claim.containertrust` | true | Vergibt `CONTAINER` |
| Vollmacht-Trust | `/claim permissiontrust <ziel>` (`pt`) | `mira.claim.claim.permissiontrust` | true | Vergibt `PERMISSION` |
| Entziehen | `/claim untrust <ziel\|all>` | `mira.claim.claim.untrust` | true | Entfernt Eintrag; `all` leert die Liste |
| Liste | `/claim trustlist` | `mira.claim.claim.trustlist` | true | Zeigt alle Einträge |
| Vererbung | `/claim restrictsubclaim` (`rsc`) | `mira.claim.claim.restrictsubclaim` | true | Vererbung vom Elternclaim schalten (braucht `MANAGE`) |

`<ziel>` ist `<spieler|[gruppe]|public>`. Der Ausführende braucht mindestens `PERMISSION`. Selbst-Trust und Formatierungscodes im Namen werden abgelehnt; Spieler müssen auflösbar sein, Gruppen bei LuckPerms existieren. `PERMISSION` vergeben und `restrictsubclaim` schalten dürfen nur `MANAGE`-Inhaber.

> **Tipp:** Statt `/claim trust public` gibt es im Flags-GUI zwei Schalter: `build_mode` gibt jedem `BUILD`, `public_access` gibt jedem `ACCESS`. Beide aktiv → `build_mode` gewinnt.

## Claim-Flags

Im Flags-GUI (`/claim gui`, Claim verwalten, Flags) und im Web-Panel unter Claims schaltet der Besitzer (`MANAGE`) sechs Schalter pro Claim. Ein Flag auf dem Top-Level-Claim gilt auch für alle seine Subdivisions; eine Subdivision kann ein Flag zusätzlich für sich allein einschalten.

| Flag | Default | Wirkung |
|---|---|---|
| `explosions` | aus | TNT, Creeper, End-Kristalle usw. dürfen Blöcke, Rahmen, Gemälde, Rüstungsständer, Tiere und Fahrzeuge in diesem Claim beschädigen. Liegt auch nur ein Block der Explosion in einem Claim ohne dieses Flag, wird die ganze Explosion abgebrochen. |
| `mob_spawning` | aus | Feindliche Mobs spawnen natürlich (Dunkelheit) im Claim. Aus = kein natürlicher Monster-Spawn im Claim. Spawner, Spawn-Eier, Raids, Züchtung und Befehle sind nicht betroffen. |
| `monster_damage` | aus | Monster und fremde Projektile dürfen Blöcke im Claim verändern: Enderman, Silberfischchen, Ravager, Enderdrache, Wither-Strahl, Zombies an Türen (`Mobs.ZombiesBreakDoors`), Ghast-/Blaze-Feuerbälle und Skelett-Feuerpfeile entzünden Blöcke. Globale Schalter wie `Mobs.EndermenMoveBlocks` gelten weiterhin zuerst. |
| `pvp_override` | aus | Erlaubt PvP im Claim, obwohl `PvP.ProtectPlayersInLandClaims` ihn schützen würde. Wirkt nur in Welten mit aktiven PvP-Regeln. |
| `public_access` | aus | Jeder hat `ACCESS` (Türen, Knöpfe, Hebel, Betten). |
| `build_mode` | aus | Jeder hat `BUILD`; gewinnt gegen `public_access`. |

> **Hinweis:** Weil `mob_spawning` standardmäßig aus ist, spawnen in Claims keine Monster natürlich. Wer eine Dunkelraum-Mobfarm im Claim betreibt, schaltet das Flag im Flags-GUI ein.

## Auflösungsreihenfolge

Erster Treffer entscheidet:

1. **Besitzer** → `MANAGE`
2. **`adminclaims` in besitzerlosem Claim** → `MANAGE` (nicht in Spieler-Claims)
3. **Aktiver `ignoreclaims`-Bypass** → `MANAGE`
4. Expliziter Spieler-Eintrag
5. LuckPerms-Gruppen-Trust (höchste Stufe)
6. `public`-Eintrag
7. GUI-Schalter `build_mode`/`public_access`
8. Team-Claim-Auflösung (falls Subdivision einem Team gehört)
9. Vererbung vom Elternclaim (nur Subdivisions ohne `restrictsubclaim`)
10. Fallback: `NONE`

Weil Schritt 1 bis 3 vor jeder Listen-Prüfung greifen, kann `public`- oder Gruppen-Trust nie höhere Rechte als der Besitzer verschaffen.

**Team-Claim (Schritt 8):** Mitglied mit `MANAGE_TEAM_CLAIM_FLAGS` → `MANAGE`; mit `BUILD_IN_TEAM_SUBDIVISIONS` → `BUILD`; alliiertes Team mit `BUILD_IN_ALLY_SUBDIVISIONS` → `BUILD`; sonst weiter zu Schritt 9. Details siehe Team-Claims und Plots.

## Welche Aktion braucht welche Stufe

| Aktion | Stufe | Hinweis |
|---|---|---|
| Block bauen/abbauen, Bett, Tür setzen | `BUILD` | |
| Schild beschriften | `BUILD` | Shop-Schilder nutzen die Shop-Berechtigung statt Trust |
| Kiste, Fass, Ofen, Trichter, Beacon, Lesepult, Crafter | `CONTAINER` | Amboss ist bewusst nicht geschützt |
| Kisten-Reittier öffnen | `CONTAINER` | über Tier-Position |
| Knopf, Hebel, Druckplatte | `ACCESS` | nur bei `PreventButtonsSwitches: true` (Default) |
| Redstone-Komponenten, Notenblock | `BUILD` | |
| Glocke | `BUILD`/`ACCESS` | `BUILD` bei `RaidTriggersRequireBuildTrust: true` (Default) |
| Tür, Falltür, Zauntor | `ACCESS` | für öffentliche Türen `public_access` nutzen |
| Gemälde/Rahmen, Rüstungsständer | `BUILD` | |
| Tier angreifen/anleinen/weglocken | `BUILD` | nur bei `PreventTheft: true`; Pferde/Esel/Lamas per Config ausnehmbar |
| Eimer (Wasser/Lava/Milch) | `BUILD` | |
| Kuchen essen, Ackerland betreten | `ACCESS` | verändert Blockstate |
| Endportalrahmen füllen, Dekotopf befüllen | `BUILD` | |

> **Tipp:** Mit `Claims.EnderPearlsRequireAccessTrust: true` (Default) wird ein Enderperlen-Teleport in einen Claim ohne `ACCESS` abgebrochen und die Perle zurückgegeben.

## Schutzregeln

```yaml
Claims:
  PreventButtonsSwitches: true
  PreventTheft: true
  PreventNonPlayerCreatedPortals: true
  PistonMovement: CLAIMS_ONLY   # EVERYWHERE / EVERYWHERE_SIMPLE / CLAIMS_ONLY / IGNORED
Mobs:
  EndermenMoveBlocks: false
  CreaturesTrampleCrops: false
  ZombiesBreakDoors: false
Fire:
  Spreads: false      # gilt server-weit, nicht nur Wildnis
  Destroys: false
Explosions:
  BedExplosionsAllowed: false
  RespawnAnchorExplosionsAllowed: false
```

- **Container/Redstone:** Öffnen und jeder Klick werden geprüft (Entzug schließt offene Kiste sofort). Doppeltruhe: eine Hälfte im Claim schützt sie. Trichter und Dispenser wirken nicht über Claim-Grenzen hinweg (Ausnahme: nicht eingeschränkte Subdivisions, siehe unten). Virtuelle GUIs (Spieler als Halter) sind nie geschützt.
- **Fluide:** Wasser/Lava fließt nur in einen Claim, wenn der Quellblock im selben Claim liegt.
- **Wasser, Trichter, Kolben, Dispenser** arbeiten über die Grenze zwischen einem Claim und seinen nicht eingeschränkten Subdivisions hinweg; eingeschränkte Subdivisions (`/claim restrictsubclaim`) und Team-Plots bleiben abgeschottet.
- **Portale:** Spieler-Portal braucht `BUILD` an jedem Portalblock; das Betreten prüft zusätzlich die Zielposition.
- **Explosionen:** Liegt ein Block im Claim, wird die ganze Explosion abgebrochen (schützt auch angrenzende Wildnis), außer der Claim hat das Flag `explosions`. Explosionsschaden an Tieren, Rahmen, Gemälden, Rüstungsständern und Fahrzeugen im Claim wird ebenfalls verhindert. Bett/Respawn-Anker global gesperrt (Defaults). Wither spawnt nie in einem Claim.
- **Tiere, Rahmen, Fahrzeuge:** Auch Pfeile, Dreizacke, Wurf- und Verweiltränke, TNT, gezähmte Wölfe, Angel und Leine (beide Hände) werden auf den verantwortlichen Spieler zurückgeführt und brauchen `BUILD`-Trust; Schaden ohne verantwortlichen Spieler (Creeper, Skelett-Pfeil, wilder Wolf) wird im Claim abgebrochen. Boote und Loren brauchen `BUILD`, Kisten- und Trichterloren `CONTAINER`.
- **Feuer:** Feuer, das von außen an eine Claim-Wand gelegt wird, frisst sich auch mit `Fire.Destroys: true` nicht durch Claim-Blöcke. Dispenser mit Feuerzeug oder Feuerkugel zünden nur innerhalb des eigenen Claims. Ghast- und Blaze-Feuerbälle brauchen das Flag `monster_damage`.
- **Sand, Kies, Amboss, Betonpulver:** Fallen im eigenen Claim normal. Fallende Blöcke, die von außerhalb (Wildnis oder Nachbarclaim) in einen Claim geschossen werden, verschwinden (Sandkanone).
- **Mob-Grief ohne Spielerbezug** (Enderman, Silberfisch, Ravager, Sculk, Ackerland-Trampeln) wird in Claims verhindert, unabhängig von Trust; nur das Claim-Flag `monster_damage` gibt Monster-Schaden an Blöcken gezielt frei.

**Piston-Modi:**

| Modus | Regel |
|---|---|
| `EVERYWHERE` | Jeder bewegte Block: Ziel- und Quellclaim identisch |
| `EVERYWHERE_SIMPLE` | Bounding-Box aller Blöcke in genau einem Claim |
| `CLAIMS_ONLY` (Default) | Kolben + alle bewegten + alle Zielblöcke im selben Claim |
| `IGNORED` | keine Prüfung (Warnung im Log) |

## Wildnis-Regeln

```yaml
Claims:
  WorldModes:
    "*": Survival   # Survival / Creative / SurvivalRequiringClaims / PvP / Disabled
Wilderness:
  DisableRedstone: true   # Redstone nur in Claims
  DisablePistons: true    # Kolben nur in Claims
  LimitSkyTrees: true     # keine Bäume auf Himmelsplattformen
```

- **`SurvivalRequiringClaims`:** Außerhalb von Claims kein Bauen/Abbauen/Eimer für Spieler (außer aktiver Ignore-Bypass).
- **Feuer-Regeln** (`Fire.Spreads`/`Destroys`) gelten server-weit.

> **Tipp:** RestoreNature (`/claim admin restore`/`restoreaggressive`/`restorefill`) ersetzt im ganzen Chunk unnatürliche Blöcke durch biomegerechtes Material (AGGRESSIVE auch Holz/Blätter, FILL füllt nur Luftlöcher). Im Modus Restore Nature Aggressive bestätigt der Operator einmal im Bestätigungs-GUI; danach läuft die Wiederherstellung sofort. Läuft im Hintergrund und lässt Claim-Flächen unangetastet.

Ist **Nexo** installiert, gelten dieselben Trust-Regeln auch für dessen Custom-Blöcke und Möbel (Abbauen `BUILD`, Interaktion `CONTAINER`/`ACCESS`).

## Admin

| Command / Permission | Syntax | Default | Beschreibung |
|---|---|---|---|
| `mira.claim.adminclaims` | (Permission) | op | Auto-`MANAGE` in besitzerlosen Claims, nicht in Spieler-Claims |
| Claim-Bypass | `/claim admin ignore` (`ic`) | false | Kompletter Bypass für die Sitzung; muss aktiv eingeschaltet werden, verfällt beim Logout |

## Komplette Beispiel-Config

```yaml
Claims:
  PreventTheft: true
  PreventButtonsSwitches: true
  EnderPearlsRequireAccessTrust: true
  RaidTriggersRequireBuildTrust: true
  ProtectHorses: true
  ProtectDonkeys: true
  ProtectLlamas: true
  PistonMovement: CLAIMS_ONLY
  PreventNonPlayerCreatedPortals: true
  RavagersBreakBlocks: false
Mobs:
  EndermenMoveBlocks: false
  SilverfishBreakBlocks: false
  CreaturesTrampleCrops: false
  RabbitsEatCrops: true
  ZombiesBreakDoors: false
Fire:
  Spreads: false
  Destroys: false
Explosions:
  BlockSurfaceExplosions: true
  BedExplosionsAllowed: false
  RespawnAnchorExplosionsAllowed: false
Wilderness:
  LimitSkyTrees: true
  DisableRedstone: true
  DisablePistons: true
  SeaLevelOverride: -1
```
