> For the complete documentation index, see [llms.txt](https://wiki.dyroxplays.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.dyroxplays.de/caseopening/commands/crystals.md).

# crystals

Verwaltet die Kristall-Währung des Plugins.

**Aliase:** `/kristalle`, `/crystal`

## Übersicht aller Befehle

```
/crystals add <Spieler|*|**> <Anzahl>
/crystals remove <Spieler|*|**> <Anzahl>
/crystals take <Spieler|*|**> <Anzahl>
/crystals set <Spieler|*|**> <Anzahl>
/crystals info <Spieler>
```

***

## /crystals add \<Spieler|\*|\*\*>

Fügt einem oder mehreren Spielern Kristalle hinzu.

**Parameter:**

* `Spieler` - Spielername, `*` (alle online) oder `**` (alle in DB)
* `Anzahl` - Anzahl der Kristalle

**Permission:** `caseopening.crystals.add`

**Beispiele:**

```bash
/crystals add PlayerName 100
/crystals add * 50              # Alle online Spieler
/crystals add ** 25             # Alle Spieler in DB
```

**Verwendung:**

* Belohnungen für Events
* Vote-Rewards
* Daily-Rewards
* Quest-Belohnungen

***

## /crystals remove \<Spieler|\*|\*\*>

Entfernt Kristalle von Spielern (nur wenn genug vorhanden).

**Permission:** `caseopening.crystals.remove`

**Beispiele:**

```bash
/crystals remove PlayerName 50
/crystals remove * 10
```

**Hinweis:** Wenn nicht genug Kristalle vorhanden sind, wird nichts entfernt.

***

## /crystals take \<Spieler|\*|\*\*>

Nimmt Kristalle von Spielern (kann ins Negative gehen).

**Permission:** `caseopening.crystals.take`

**Beispiele:**

```bash
/crystals take PlayerName 1000
/crystals take ** 500
```

**Unterschied zu `remove`:**

* `remove` entfernt nur wenn genug vorhanden
* `take` zieht ab, auch wenn es negativ wird

***

## /crystals set \<Spieler|\*|\*\*>

Setzt Kristalle auf einen exakten Wert.

**Permission:** `caseopening.crystals.set`

**Beispiele:**

```bash
/crystals set PlayerName 500
/crystals set * 0               # Entfernt alle von online Spielern
/crystals set ** 1000           # Setzt alle auf 1000
```

**Verwendung:**

* Fixes bei negativen Werten
* Reset für Events
* Admin-Korrekturen

***

## /crystals info

Zeigt die Kristall-Anzahl eines Spielers.

**Permission:** `caseopening.crystals.info`

**Beispiel:**

```bash
/crystals info PlayerName
```

**Ausgabe:**

```
========================================
Kristall-Info für PlayerName
Crystals: 250
========================================
```

***

## Wildcards

* `*` = Alle **online** Spieler
* `**` = Alle Spieler in der **Datenbank** (online + offline)

**Beispiele:**

```bash
/crystals add * 100       # Nur online Spieler
/crystals set ** 0        # Alle Spieler in DB
```

***

## Startguthaben für neue Spieler

In [config.yml](file:///6293344/configuration.md#configyml):

```yaml
defaultcrystals: 100
```

Neue Spieler starten mit 100 Kristallen.

***

## Kristalle als Vote-Reward

**Mit AutomaticCraftVoteListener oder ähnlichen Plugins:**

```yaml
# In deren Config
rewards:
  - "crystals add %player% 10"
```

Oder als Server-Command im Vote-Plugin konfigurieren.

***

## Kristalle im Shop verkaufen

In [caseShop.yml](file:///6293344/configuration.md#caseshopyml):

```yaml
shop:
  items:
    small_pack:
      price: 100
      currency: MONEY
      reward:
        crystals: 50
```

Spieler können für $100 ingame Geld 50 Kristalle kaufen.

***

## Tipps

{% hint style="info" %}

* Negativ verhindern: Nutze `remove` statt `take` um negative Werte zu vermeiden
* Daily Rewards: Gib täglich automatisch Kristalle mit einem Scheduler-Plugin
* Events: Belohne Spieler mit Kristallen für Aktivitäten
* Shop: Verkaufe Kristalle gegen echtes Geld für P2W-Server
* Fixes: Nutze `/crystals set <spieler> 0` um negative Kristalle zu beheben
  {% endhint %}

***

## Häufige Probleme

<details>

<summary>Spieler hat negative Kristalle</summary>

**Ursache:** `/crystals take` wurde verwendet und der Spieler hatte nicht genug.

**Lösung:**

```bash
/crystals set PlayerName 0
```

</details>

<details>

<summary>Startguthaben funktioniert nicht</summary>

**Prüfe:**

defaultcrystals in config.yml gesetzt?Überprüfe, ob der Eintrag defaultcrystals korrekt in der Datei config.yml vorhanden ist.Plugin neu geladen?Führe /case reload oder einen Server- bzw. Plugin-Neustart durch, damit die Konfiguration neu eingelesen wird.Spieler wirklich neu?Stelle sicher, dass der betroffene Spieler tatsächlich erstmals auf dem Server war (erste Verbindung), sonst wird das Startguthaben nicht gesetzt.

</details>

<details>

<summary>Kristalle verschwinden</summary>

**Mögliche Ursachen:**

Flatfile: Keine Schreibrechte im Plugin-OrdnerPrüfe, ob der Server-Prozess Schreibrechte auf den Plugin-Ordner hat, falls Flatfile-Speicherung genutzt wird.MySQL: Verbindung unterbrochenBei MySQL: Prüfe die Datenbankverbindung und Logs auf Verbindungsabbrüche oder Fehler.Anderes Plugin greift in die Daten einEin anderes Plugin könnte Einträge ändern oder überschreiben. Prüfe installierte Plugins und deren Konfiguration.

**Lösung:** Prüfe Server-Logs und nutze MySQL für größere Server.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.dyroxplays.de/caseopening/commands/crystals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
