Economy
CoreEngine bringt eine vollständige Server-Economy mit: Konten, Überweisungen, Admin-Verwaltung und Bestenliste. Chest-Shops und Jobs buchen direkt über diese Konten. Jede Transaktion wird sofort gespeichert und ist gegen gleichzeitige Buchungen abgesichert.
Commands #
| Command | Syntax | Permission | Default | Beschreibung |
|---|---|---|---|---|
/balance | /balance [spieler] (Alias /bal, /money) | economy. | true | Kontostand anzeigen; andere Spieler: economy. (true, auch offline) |
/pay | /pay <spieler> <betrag> | economy. | true | Überweist Geld an einen Online-Spieler |
/baltop | /baltop [seite] (Alias /balancetop, /moneytop) | economy. | true | Bestenliste der reichsten Spieler |
/eco give | /eco give <spieler> <betrag> | economy. | op | Schreibt Geld gut (auch offline) |
/eco take | /eco take <spieler> <betrag> | economy. | op | Bucht Geld ab |
/eco set | /eco set <spieler> <betrag> | economy. | op | Setzt den Kontostand exakt |
/eco reset | /eco reset <spieler> | economy. | op | Setzt auf das Startguthaben zurück |
/eco reload | /eco reload | economy. | op | Lädt Economy-Config und Nachrichten neu (Kontostände werden nicht neu eingelesen) |
Tipp: Beträge verstehen Komma und Punkt als Dezimaltrennzeichen sowie die Suffixe k und M: 1. = 1500. Ungültige Werte (negativ, NaN, unendlich) werden überall abgelehnt.
/pay <spieler> <betrag> verlangt den exakten Spielernamen. Ein Namensanfang (z. B. Alex für Alexander) wird nicht ergänzt, sondern als "Spieler nicht online" abgelehnt. Spieler im Vanish gelten für alle ohne mod. als offline (gleiche Regel wie /msg). Auch /eco give| löst den Namen exakt auf: zuerst ein Online-Spieler mit genau diesem Namen, sonst ein dem Server bekannter Offline-Spieler.
/eco reload lädt nur die Economy-Konfiguration und die Nachrichten neu. Kontostände werden dabei nicht neu eingelesen, weil der laufende Server die Konten führt und die gespeicherten Daten im Hintergrund nachschreibt. Manuelle Änderungen an den gespeicherten Kontoständen greifen deshalb erst nach einem Neustart.
Hinweis: Die Bestenliste ist bis zu 30 Sekunden gecacht; ein frisch per /eco set gesetzter Rekord taucht also nicht sofort in /baltop auf. Rang 1 bis 3 werden mit 🥇/🥈/🥉 hervorgehoben.
Vault: eigene oder fremde Economy #
CoreEngine arbeitet mit Vault zusammen, in beide Richtungen. Der Schalter ist economy. in der config.:
internal: true(Standard): CoreEngine nutzt seine eigene Economy und meldet sie als Vault-Economy an. Andere Plugins (Shops, Quests, Job-Belohnungen) arbeiten dann auf denselben Konten.internal: false: CoreEngine nutzt die Economy eines anderen Plugins über Vault (z. B. EssentialsX). Alle Geld-Funktionen laufen dann darüber. Ohne gefundenes Economy-Plugin bleibt die interne Economy als Fallback aktiv (Warnung im Log)./baltopist in dem Modus technisch nicht verfügbar.
Eine Änderung von economy. greift erst nach einem Neustart. Auf Folia lädt das offizielle Vault derzeit nicht, dort bleibt automatisch die interne Economy aktiv.
Fremdplugins, die über Vault 0,00 buchen (oder einen Bruchteil, der auf 0,00 rundet), erhalten eine erfolgreiche Antwort ohne Kontoänderung, wie bei den gängigen Economy-Providern. Negative Beträge bleiben ein Fehler.
Konten und Rundung #
Jeder Spieler bekommt beim ersten Betreten automatisch ein Konto mit dem Startguthaben. Abfragen zu Spielern ohne Konto zeigen das Startguthaben an, ohne ein Konto anzulegen. Alle Kontostände werden kaufmännisch auf zwei Nachkommastellen gerundet, damit sich Fließkomma-Fehler nie aufaddieren; dieselbe Rundung nutzt auch das Shop-System. Beträge in /pay und /eco give| werden ebenfalls auf ganze Cent gerundet; ein Betrag, der auf 0,00 rundet, wird als unter dem Mindestbetrag abgelehnt. Sender und Empfänger buchen immer denselben gerundeten Betrag.
Konfiguration (config.yml) #
economy:
# true = eigene Economy (und Vault-Provider). false = fremde Economy
# über Vault nutzen. Wechsel erfordert einen Neustart.
internal: true
# Startguthaben jedes neuen Kontos.
start-balance: 1000.0
# Währungsname (Singular bei genau 1.0), Plural und Symbol.
currency-name: "Coin"
currency-name-plural: "Coins"
currency-symbol: "⛃"
# Obergrenze pro Konto und kleinster erlaubter /pay-Betrag.
max-balance: 1000000000.0
min-transfer: 0.01
# Einträge pro /baltop-Seite.
baltop-entries-per-page: 10
cooldown:
commands:
# Sekunden zwischen zwei /pay-Befehlen (verhindert Spam).
pay: 1Hinweis: start-balance muss >= 0 sein, max-balance > 0 und mindestens so groß wie start-balance, min-transfer >= 0.01 und baltop-entries-per-page >= 1. Abweichungen werden beim Laden korrigiert und einmalig im Log gemeldet.
Komplette Beispiel-Config #
economy:
internal: true
start-balance: 500.0
currency-name: "Taler"
currency-name-plural: "Taler"
currency-symbol: "$"
max-balance: 10000000.0
min-transfer: 1.0
baltop-entries-per-page: 15
cooldown:
commands:
pay: 3