Plugins · DynamicBank

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.

Paper 1.21.10+ Java 21+ Vault SQLite / HikariCP Geyser/Bedrock Nexo MiniMessage DE / EN
DynamicBank – GUI-Vorschau
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.yml frei 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 INTEREST transaction

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
/bankBank-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 reloadAlle 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.usealleeveryoneBank benutzenUse the bank
dynamicbank.accounts.<n>Max. Kontoanzahl auf n erhöhenRaise the player's max account count to n
dynamicbank.adminOPAdmin-BefehleAdmin commands
Konfiguration, Anforderungen & Quick Start Configuration, requirements & quick start
DateiFile InhaltContents
config.ymlDatenbank, 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.ymlJede Nachricht, pro Sprache (MiniMessage)Every message, per language (MiniMessage)
guis.ymlJedes 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.jar in plugins/ 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.jar into plugins/
  • Restart the server — all config files are generated
  • Adjust tiers, interest and language to your liking
  • Players open the bank with /bank

Fragen vor dem Kauf?Questions before buying?

Schreiben Sie mir – ich beantworte gerne, ob DynamicBank zu Ihrem Server passt.Get in touch — I'm happy to answer whether DynamicBank fits your server.