← Назад к ресурсам

BankSystem

BankSystem is a Minecraft mod that brings money in to the game. Players can have a bankacount that can not only hold money but items too.

Modrinth economy management storage

Описание

# Bank System Mod ## About BankSystem is a Minecraft mod that adds a full banking system to the game. Every player gets an account that can hold money and items, with support for shared accounts, per-user permissions, redstone automation, in-world balance displays, and an interactive balance-history chart. Players can found **companies**, hire workers, mint physical share items, pay wages on a schedule and hand out dividends to shareholders. The Bank Terminal includes a full crafting grid that can pull ingredients directly from your account, and individual slots can be bound to third-party currency mods so a single balance is shared across every system that touches it. Ideal for multiplayer servers with active economies, and the financial backbone for the [Stock Market Mod](https://www.curseforge.com/minecraft/mc-mods/stockmarket). > **Version 2.1.0 is a TEST VERSION.** It ships major new systems — companies with workers, physical shares, the Share Stamper block, recurring payouts and dividends, a company statistics dashboard, plus the external-currency-mod binding SPI (Numismatics and Lightman's Currency) and the in-game Mod Settings screen — none of which have been fully tested in production. Expect bugs. Feedback and bug reports are welcome on [GitHub](https://github.com/KROIA/BankSystem/issues). Do not use on production servers without backups. Stable release: **v1.4.1**. ## Features ### Bank Accounts * Personal and shared bank accounts holding both money and items in the same slot list. * Per-user permissions — Deposit, Withdraw, and Manage, mixed and matched per account and per member. * Shared accounts always keep at least one manager — the last user cannot be removed by accident. * Money system with 21 denominations — cent coins (1¢, 5¢, 10¢, 20¢, 50¢), a $1 coin, everyday notes ($5, $10, $20, $50, $100, $200, $500, $1000) and a high-value tier for large economies ($5K, $10K, $20K, $50K, $100K, $500K, $1M). Each has its own artwork, converts into its neighbours in a crafting grid, and is placeable as a decorative block. * Configurable allowed-items list prevents the bank from being used as infinite storage. ### Bank Terminal * Deposit and withdraw money and items from a single screen. * Full 3×3 crafting grid inside the terminal that can source missing ingredients from your bank account and auto-deposit the crafted output. * JEI integration — the "+" button on any recipe fills the grid, and clicking any item in the bank list looks up its recipes and applies the best one your bank can satisfy. * Item filter box narrows the balance list by name or tag. * The terminal remembers your last-selected account across every terminal on the server. * Interactive balance-history chart with zoom, pan, tag-based search, and per-item series filters that persist across sessions. ### ATM & Automation * ATM block — withdraw money as specific note denominations. * Bank Upload and Bank Download blocks — redstone-powered automation that connects to hoppers, pipes, and modded item conduits on a configurable interval. * Coin-variant deposits are routed to the account's money slot at the currency mod's live face value — no per-variant sub-accounts are created. ### [Companies](https://github.com/KROIA/BankSystem/blob/main/documentation/user-guide/Companies.md) * Found a company with `/company create ` — it gets its own shared bank account with you as founder. * Company Management screen with seven tabs — Overview, Workers, Payouts, Shares, Market, Statistics and a founder-only Danger Zone. * Hire workers straight from the Workers tab with per-user Deposit / Withdraw / Manage toggles; founders can never be locked out of their own company. * Recurring wages and one-time payouts — pick a target, an amount, a currency (money *or* any item) and an interval. Missed runs are listed with a per-row retry. * Dividends — pay every shareholder a per-share amount in one all-or-nothing run; the run is refused outright if the company can't cover it. * Statistics dashboard — cashflow chart over 24 h / 7 d / 30 d / 90 d / all-time, balance, net cashflow, days-to-insolvency estimate, missed payouts, and a live shareholder table. * Transfer the founder role or dissolve the company from the Danger Zone, both behind typed confirmation. ### Shares * Blank Share item (paper + leather) and the Share Stamper block that turns blanks into Stamped Shares of a specific company. * Share Stamper runs continuously until you stop it, the input runs out, the output fills, or the company hits its maximum supply — with optional hopper auto-input and auto-output, each behind its own permission-gated toggle. * REDEEM mode runs the stamper backwards, burning shares and freeing supply again. * Share Visual editor — design your company's share card from a card colour plus a two-layer symbol design, with a live preview. 45 bundled pixel-art symbols, and server operators can drop in their own PNGs, which reach clients without a resource-pack reload. * Stamped shares render their full card art everywhere — inventory, hand, on the ground and in item frames — and their tooltip shows the company, its description and a live `issued / max` supply count. * Shares of different companies never stack together; shares of the same company do. * With StockMarket installed, the Market tab opens a real tradeable market for your company's shares. ### Bank Displays * Configurable in-world display showing a live balance overview grid or a balance-history line chart for any account. * Adjacent displays automatically link into a multi-block screen and inherit configuration from neighbors on placement. * Chart colors are derived per item from the item's own texture for a distinct look per market. ### Currency Mod Bindings * Bind any bank slot to an external currency mod's account. Supported are: * Numismatics * Lightman's Currency. * Every deposit, withdrawal, and StockMarket trade routes through the bound account transparently. * Coin variants auto-convert at the mod's live face value — Numismatics spurs / bevels / sprockets / cogs / crowns / suns and Lightman's copper / iron / gold / emerald / diamond / netherite coins. * Locked-balance protocol keeps pending StockMarket orders intact across bind and unbind. * Unbind offers a three-way choice — keep funds on BankSystem, keep them on the external provider, or cancel. * Public `ExternalCurrencyProvider` SPI lets third-party mod authors add more providers via Architectury service loader. ### Administration * In-game Mod Settings screen for server admins (master only) — every `settings.json` value editable with validation, no more manual file edits. * Dedicated BankSystem-admin permission flag gates settings, allowed-item list, and slave-trust access. * Transaction ledger records every deposit, withdrawal, transfer, payout, dividend and share stamp — the data behind the statistics dashboard and the payout history. * `/banksystem symbols` admin commands to add, remove, list and reload the server's share-symbol library. * ItemID merge guard, monotonic short counter, and world-format versioning protect world data against silent corruption from mod updates or downgrades. * TerraFirmaCraft-compatible item identity — banked food no longer spoils inside the account, and spoiled items can't be laundered into fresh ones. ### Multi-Server * Master/slave architecture for server networks — one master holds authoritative balances, slave servers forward requests. * Trust-based access control — untrusted slaves are read-only, trusted slaves can write. Admins toggle trust with `/banksystem trust `. * Master is the sole ItemID minter so mixed-mod setups can never desynchronise item identities. * Mixed-mod slaves hide items they can't resolve — no more broken "air" rows in the terminal or chart. ### API for Developers * Sync and async interfaces for bank accounts, banks, and the bank manager, exposed through `BankSystemAPI` for other mods. * `ItemPriceProvider` API — external mods can supply market prices for total-wealth tracking. * `ExternalCurrencyProvider` SPI — third-party currency mods plug in via Architectury service loader. * Company APIs — payout manager, dividend payer, share-visual lookup and share-icon renderer, all exposed through `BankSystemAPI`. * Full event and signal system for dependent mods — user, account, ItemID-merge, and multi-server lifecycle events, documented in `documentation/developer-guide/EventsAndSignals.md`. ## What's new since 1.4.1 The 1.4.1 → 2.1.0 window spans the entire 2.0.x line plus the company update. Highlights, grouped by area: ### Companies & Shares (new in 2.1.0) * `/company create`, `/company info` and `/company manage` — companies with their own bound bank account and an immortal-founder rule. * Company Management screen with Overview, Workers, Payouts, Shares, Market, Statistics and Danger Zone tabs. * Recurring and one-time payouts in money or any item, with a live countdown, failure reasons, payout history and a Pay Missed retry popup. * Dividends to every shareholder in one atomic, all-or-nothing run, in any currency the company holds. * Blank Share and Stamped Share items, plus the Share Stamper block with continuous stamping, redeem mode and optional hopper automation. * Share Visual editor — card colour, two symbol layers, display name and description, with a live preview and a 45-symbol bundled library that server operators can extend with their own PNGs. * Statistics dashboard — cashflow chart, headline metrics, solvency estimate and a shareholder ranking. * Transaction ledger behind it all — every deposit, withdrawal, transfer, payout, dividend, stamp and share trade is recorded. * StockMarket bridge — open, pause and close a real market for your company's shares from the Market tab. * Autosave interval is now seconds-based (default 5 s), closing an item-duplication window on server crashes. **Servers with a custom `SAVE_INTERVAL_MINUTES` must re-set it as `SAVE_INTERVAL_SECONDS`.** ### Bank Terminal & UI * Balance-history chart with zoom, pan, tag-based search, and per-item series filters. * 3×3 crafting grid inside the Bank Terminal with full JEI recipe-transfer support on Fabric, NeoForge, and Quilt. * Filter box above the item list; JEI's item panel now sits beside the terminal instead of overlapping it. * Bank Terminal remembers your last-selected account across every terminal on the server. * Account picker can list accounts you lack rights on as grayed-out with an exact "missing rights" tooltip. * Shared accounts can no longer be orphaned by removing the last managing user. ### Blocks & Displays * Bank Display block with live balance-overview and history-chart modes, auto-linking multi-block screens. * Money items are now placeable as decorative stockpile blocks. * Refreshed pixel-art textures for every block and item. ### Currency Mod Support * Numismatics adapter — bind personal (PLAYER) and shared (BLAZE\_BANKER) accounts to BankSystem slots. * Lightman's Currency adapter — bind personal and team accounts with primary-chain routing for LC's multi-chain MoneyValue model. * Coin-variant auto-conversion at deposit time — every denomination in the currency mod's chain credits the bound money slot at its live face value. * Bindings screen reachable from account management, with a full picker for provider → account → confirmation flow. * Fresh accounts auto-seed a slot for every registered currency provider's base currency. * Public `ExternalCurrencyProvider` SPI with Architectury service-loader discovery for third-party adapters. ### Administration * In-game Mod Settings screen on the master server — every setting editable with typed inputs, server-side validation, and "⟳ Restart required" markers. * BankSystem-admin permission flag gates settings and management access instead of relying on operator level alone. * Trust-based writes for slave servers — untrusted slaves are locked to reads; deposit, withdraw, and account edits are rejected at the master. ### Multi-Server Hardening * Master is now the sole ItemID minter — slave servers never assign shorts locally, closing every cross-server ID divergence class for mixed-mod setups. * Items shared between master and slave travel by stable resource name instead of per-startup registry slots — first-time slave connections no longer render wrong item names. * Mixed-mod setups hide items the local server can't resolve — no broken "air" rows. * Rejected operations now tell the affected player why instead of failing silently in the master's log. * New lifecycle events for dependent mods — slave-connected, slave-disconnected, and trusted-slaves-changed. ### World-Data Safety * World-format versioning — newer-mod saves are refused by older builds before anything is loaded or mutated. * ItemID merge guard — identity-set changes that would collapse distinct bank items now require admin confirmation at startup with a full merge report. * Monotonic ItemID counter — dropped shorts stay reserved for the lifetime of the world so downstream data can never be silently rebound to an unrelated item. * Corrupted-world detection and one-shot repair path for the pre-2.0.3 ItemID load-order bug, with a full audit trail. * Alias-table auto-heal at load; alias insertions guarded at write time with a stack-trace-annotated ERROR log on violation. ### Item Identity * Volatile item components — datapack tag and config list strip components from bank item identity, so mods like TerraFirmaCraft can rewrite food creation dates without corrupting bank entries. * Deposit-gated components — spoiled items can no longer be laundered into fresh ones; the deposit check uses the game's own component-aware stack equality. ### API * `ItemPriceProvider` API and `setPriceCurrencyItem` for total-wealth tracking. * Per-user custom data field on the `User` object with sync via ARRS. * `ExternalCurrencyProvider` SPI and `unregisterCurrencyProvider` primitive. * `IBankSystemEvents.getItemIDsMergedEvent()` for dependent mods to reconcile after a merge. * Slave-connection, disconnect, and trust-change events, plus a full developer guide in `documentation/developer-guide/EventsAndSignals.md`. * AND-permission account picker for dependent mods (`hasAllPermissions` + `requireAllPermissions`). Full per-version changelog: [`changelog/`](https://github.com/KROIA/BankSystem/tree/mc_1.21.1/changelog). ## Please visit the repository for full documentation **[Bank System Mod Repository](https://github.com/KROIA/BankSystem)** ## Dependencies * [Architectury](https://www.curseforge.com/minecraft/mc-mods/architectury-api) * [Fabric API](https://www.curseforge.com/minecraft/mc-mods/fabric-api) (Fabric only) * [Mod Utilities](https://www.curseforge.com/minecraft/mc-mods/modutilities) (Quilt only — bundled inside the jar on Fabric and NeoForge) * [Quilted Fabric API](https://www.curseforge.com/minecraft/mc-mods/qsl) (Quilt only) *** ## Bank Terminal — deposit, withdraw, and craft in one screen. *** ## Create a bank account and deposit into your own account. *** ## Account management — permissions, users, and settings per account. *** ## ATM Block — withdraw money as specific note denominations. *** ## Bank Displays — live balance overview or history chart, in-world. *** ## Money Stockpile — place money items as decorative blocks. *** ## Bank Upload / Download blocks — redstone-powered automation. *** ## Currency Mod Bindings — one balance across BankSystem, StockMarket, and the currency mod. *** ## Pick a provider, then pick an account — personal or shared. *** ## Bound slots and unbind flow — three-way choice on where funds stay. *** ## Coin-variant auto-conversion at the deposit terminal. *** ## In-game Mod Settings — edit every server setting from the bank management window (master only). *** ## Companies — overview, workers and payouts in one control centre. *** ## Share Stamper — turn blank shares into your company's shares. *** ## Share Visuals — design the card, pick two symbol layers, see it live. *** ## Multi-Server — share bank accounts across a network of connected servers.