DynamicBank
Das vollständig GUI-basierte Banksystem für Paper 1.21.10+ – mehrere Konten, kaufbare Konto-Stufen und automatische Zinsen. Spieler verwalten ihr Geld komplett über Menüs: einzahlen, abheben, Konten eröffnen und je nach Stufe Zinsen verdienen. Alles, was der Spieler sieht, ist konfigurierbar. The fully GUI-driven bank system for Paper 1.21.10+ — multiple accounts, purchasable account tiers and automatic interest. Players manage their money entirely through menus: deposit, withdraw, open accounts and earn interest depending on their tier. Everything the player sees is configurable.
Konten & kaufbare Stufen Accounts & purchasable tiers
- Spieler können mehrere Bankkonten besitzen (Limit konfigurierbar, erweiterbar per Permission
dynamicbank.accounts.<n>) - Konten werden als Stufen gekauft (z. B. Basic, Silber, Gold, Diamant) – jede Stufe definiert:
- einmaligen Kaufpreis
- Zinssatz pro Auszahlungsintervall
- Maximalguthaben (oder unbegrenzt)
- GUI-Icon (Vanilla-Material oder Nexo-Item)
- Stufen sind komplett datengetrieben: in
config.ymlfrei hinzufügen, entfernen oder umbenennen - Upgrades: Konten lassen sich auf die nächste Stufe upgraden – Kosten = Preisdifferenz
- Konten können umbenannt (
/bank rename <id> <name>) und geschlossen werden (Guthaben wird ausgezahlt, mit Bestätigungsmenü)
- Players can own multiple bank accounts (limit configurable, extendable per permission
dynamicbank.accounts.<n>) - Accounts are purchased as tiers (e.g. Basic, Silver, Gold, Diamond) — each tier defines:
- one-time purchase price
- interest rate per payout interval
- maximum balance (or unlimited)
- GUI icon (vanilla material or Nexo item)
- Tiers are fully data-driven: add, remove or rename tiers freely in
config.yml - Upgrades: accounts can be upgraded to the next tier — cost is the price difference
- Accounts can be renamed (
/bank rename <id> <name>) and closed (balance is paid out, with confirmation menu)
Automatische Zinsen Automatic interest
- Zinsen werden automatisch pro Intervall gutgeschrieben (konfigurierbar, z. B. stündlich oder täglich)
- Zinseszins – mehrere verstrichene Intervalle werden korrekt aufgezinst:
Guthaben × (1 + Zinssatz)^Intervalle - Offline-Verzinsung (optional): Spieler verdienen auch offline weiter Zinsen
- Zinsen respektieren das Guthaben-Limit der Stufe
- Online-Besitzer erhalten Benachrichtigung und Sound bei Gutschrift
- Jede Gutschrift wird als
INTEREST-Transaktion geloggt
Beispiel: Mit interest-rate: 0.02 und täglichem Intervall bringt ein Konto mit 100.000 genau 2.000 pro Tag (aufgezinst).
- Interest is credited automatically per interval (configurable, e.g. hourly or daily)
- Compound interest — multiple elapsed intervals are compounded correctly:
balance × (1 + rate)^intervals - Offline accrual (optional): players keep earning interest while offline
- Interest respects the tier's balance cap
- Online owners get a notification and sound when interest is credited
- Every credit is logged as an
INTERESTtransaction
Example: with interest-rate: 0.02 and a daily interval, an account holding 100,000 earns 2,000 per day (compounded).
GUI – zu 100 % konfigurierbar & Bedrock-kompatibel GUI — 100% configurable & Bedrock compatible
Jedes Menü wird in guis.yml definiert:
- Hauptmenü – alle Konten auf einen Blick (Stufen-Icon, Guthaben, Zinssatz) + Geldbeutel
- Stufen-Auswahl – neues Konto kaufen, alle Stufen-Werte vor dem Kauf sichtbar
- Konto-Menü – einzahlen, abheben, upgraden, Historie, Umbenennen-Hinweis, Konto schließen
- Betrags-Menü – konfigurierbare Preset-Buttons plus „Alles"-Button; für Ein- und Auszahlung
- Transaktions-Historie – paginiertes Log pro Konto (Einzahlungen, Abhebungen, Zinsen, Upgrades, Admin-Änderungen)
- Bestätigungsmenü vor dem Schließen eines Kontos
- Vollständig Bedrock-kompatibel (Geyser) – jede Aktion ist ein einzelner Klick, keine Chat-Eingaben nötig
Every menu is defined in guis.yml:
- Main menu — all your accounts at a glance (tier icon, balance, interest rate) + wallet balance
- Tier selection — buy a new account, all tier stats visible before purchase
- Account menu — deposit, withdraw, upgrade, history, rename hint, close account
- Amount menu — configurable preset amount buttons plus an "All" button; used for both deposit and withdraw
- Transaction history — paginated log per account (deposits, withdrawals, interest, upgrades, admin changes)
- Confirmation menu before closing an account
- Fully Bedrock compatible (Geyser) — every action is a single click, no chat input required
Nexo-Integration & Mehrsprachigkeit Nexo integration & multi-language
Nexo (optionale Soft Dependency)
- Nexo-Items als GUI-Icons:
material: 'nexo:<item_id>'/icon: 'nexo:<item_id>' - Nexo-Glyphen in jedem Text via
%glyph_<name>%– Nachrichten, Titel, Buttons, Lore - Font- und farbsicheres Glyph-Rendering (Icons werden nie eingefärbt)
- Eigene Glyph-Mappings in der Config – funktioniert auch ohne Nexo
- Sauberes Fallback bei fehlendem Nexo oder unbekannten IDs
Mehrsprachig
- Integrierte deutsche und englische Nachrichten-Sets (
language: de/language: en) - Eigene Sprachsektion ergänzbar – ohne Code-Änderungen
- Alle Texte im MiniMessage-Format
Nexo (optional soft dependency)
- Nexo items as GUI icons:
material: 'nexo:<item_id>'/icon: 'nexo:<item_id>' - Nexo glyphs in any text via
%glyph_<name>%— messages, titles, button names, lore - Font- and color-safe glyph rendering (icons never get tinted)
- Custom glyph mappings in the config — works even without Nexo installed
- Graceful fallback if Nexo is missing or an ID is unknown
Multi-language
- Built-in German and English message sets (
language: de/language: en) - Add your own language section — no code changes needed
- All texts use the MiniMessage format
Befehle & Berechtigungen Commands & permissions
| BefehlCommand | BeschreibungDescription |
|---|---|
/bank | Bank-GUI öffnenOpen the bank GUI |
/bank rename <konto-id> <name> | Eigenes Konto umbenennen (ID im Konto-Menü sichtbar)Rename one of your accounts (id shown in the account menu) |
/bankadmin reload | Alle Konfigurationsdateien neu ladenReload all configuration files |
/bankadmin setbalance <konto-id> <betrag> | Guthaben eines beliebigen Kontos setzenSet the balance of any account |
Aliasse: /konto, /bankkonto (konfigurierbar).Aliases: /konto, /bankkonto (configurable).
| Permission | Default | BeschreibungDescription |
|---|---|---|
dynamicbank.use | alleeveryone | Bank benutzenUse the bank |
dynamicbank.accounts.<n> | — | Max. Kontoanzahl auf n erhöhenRaise the player's max account count to n |
dynamicbank.admin | OP | Admin-BefehleAdmin commands |
Konfiguration, Anforderungen & Quick Start Configuration, requirements & quick start
| DateiFile | InhaltContents |
|---|---|
config.yml | Datenbank, Konto-Limits, Zins-Einstellungen, Stufen, Transaktions-Log, Preset-Beträge, Glyphen, Sounds, ZahlenformatDatabase, account limits, interest settings, tiers, transaction log, preset amounts, glyphs, sounds, number format |
messages.yml | Jede Nachricht, pro Sprache (MiniMessage)Every message, per language (MiniMessage) |
guis.yml | Jedes Menü: Titel, Zeilen, Slots, Buttons, Icons, Lore-TemplatesEvery menu: titles, rows, slots, buttons, icons, lore templates |
Stufen-BeispielTier example
tiers:
platinum:
name: '<gradient:#a1c4fd:#c2e9fb>Platinum</gradient>'
icon: 'nexo:iconic_gem'
price: 1000000
interest-rate: 0.05 # 5% pro Intervall
max-balance: -1 # unbegrenzt
Speicher & Performance
- SQLite via HikariCP (WAL-Modus) – kein externes Setup
- Konten im Speicher gecacht, alle Schreibzugriffe asynchron
- Transaktions-Log mit automatischer Bereinigung (
transactions.keep-days)
Anforderungen
- Server: Paper (oder Fork) 1.21.10+
- Java: 21+
- Erforderlich: Vault + ein Economy-Plugin (EssentialsX, CMI, …)
- Optional: Nexo
Quick Start
DynamicBank-x.x.x.jarinplugins/ablegen- Server neu starten – alle Config-Dateien werden erzeugt
- Stufen, Zinsen und Sprache nach Wunsch anpassen
- Spieler öffnen die Bank mit
/bank
Storage & performance
- SQLite via HikariCP (WAL mode) — zero external setup
- Accounts cached in memory, all writes async off the main thread
- Transaction log with automatic cleanup (
transactions.keep-days)
Requirements
- Server: Paper (or fork) 1.21.10+
- Java: 21+
- Required: Vault + any economy plugin (EssentialsX, CMI, …)
- Optional: Nexo
Quick start
- Drop
DynamicBank-x.x.x.jarintoplugins/ - Restart the server — all config files are generated
- Adjust tiers, interest and language to your liking
- Players open the bank with
/bank