CoreEngineWIKI
ESC
↑ ↓ NavigierenEnter ÖffnenESC Schließen

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 #

Commands8
CommandSyntaxPermissionDefaultBeschreibung
/balance/balance [spieler] (Alias /bal, /money)economy.balancetrueKontostand anzeigen; andere Spieler: economy.balance.others (true, auch offline)
/pay/pay <spieler> <betrag>economy.paytrueÜberweist Geld an einen Online-Spieler
/baltop/baltop [seite] (Alias /balancetop, /moneytop)economy.baltoptrueBestenliste der reichsten Spieler
/eco give/eco give <spieler> <betrag>economy.adminopSchreibt Geld gut (auch offline)
/eco take/eco take <spieler> <betrag>economy.adminopBucht Geld ab
/eco set/eco set <spieler> <betrag>economy.adminopSetzt den Kontostand exakt
/eco reset/eco reset <spieler>economy.adminopSetzt auf das Startguthaben zurück
/eco reload/eco reloadeconomy.adminopLä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.5k = 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.vanish.see als offline (gleiche Regel wie /msg). Auch /eco give|take|set|reset 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.internal in der config.yml:

  • 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). /baltop ist in dem Modus technisch nicht verfügbar.

Eine Änderung von economy.internal 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|take|set 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) #

YAML
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: 1
ℹ️

Hinweis: 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 #

YAML
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