HomeJavaModsMC-Banking
MC-Banking
ModsJava

MC-Banking

by recklessmetro · on Modrinth

This adds a banking system to minecraft with support for the Minecraft Transit Railways Mod, Includes ATM'S a management computer. Debit cards, Cash…

⬇ Download on Modrinth
MC-Banking — screenshot 1MC-Banking — screenshot 2MC-Banking — screenshot 3MC-Banking — screenshot 4MC-Banking — screenshot 5

🏦 MC-Banking

A full-featured banking, economy, and finance mod for Minecraft. Create banks, open accounts, use ATMs, invest in stocks, take out loans, run businesses, and more — all with immersive pixel-art UIs and realistic mechanics.


✨ Features

🏧 ATMs

🧑‍💼 Bank Tellers

🗺️ Bank Dashboard

💻 Bank Computer

💳 Debit Cards

💼 Business Accounts

📈 Stock Market

💰 Loans

🏦 Savings & Interest

💸 Cheques

🔄 Cross-Network Transfers

💵 Physical Cash

🏢 Bank Health & Ratings

💼 Payroll

🏛️ Taxes

🔫 ATM Robberies

🚂 MTR Integration

🗺️ Squaremap Integration


## 📦 Dependencies

| Mod | Required? |
|-----|-----------|
| [Fabric API](https://modrinth.com/mod/fabric-api) | ✅ Required |
| [Special Model Loader](https://modrinth.com/mod/special-model-loader) | ✅ Required (OBJ block models) |
| [MTR](https://modrinth.com/mod/mtr) | ❌ Optional (ticket machine + station names) |
| [Squaremap](https://modrinth.com/mod/squaremap) | ❌ Optional (web map markers) |
| Decocraft | ❌ Optional (ATM block compatibility, disabled by default) |
---

## ⚙️ Configuration

Config file: `config/mc-banking.json`

```json
{
  "ticketMachineOverride": true,
  "decocraftAtmCompat": false,
  "decocraftAtmBlockIds": ["decocraft:atm", "decocraft:atm_machine"]
}
Option Default Description
ticketMachineOverride true Replaces MTR's ticket machine UI with MC-Banking's payment screen
decocraftAtmCompat false Right-clicking Decocraft ATM blocks opens MC-Banking ATM
decocraftAtmBlockIds ["decocraft:atm", ...] Block IDs that act as ATMs when compat is enabled

🎮 Getting Started

  1. Create a bank — Use the Bank Dashboard item to define a bank area on the map
  2. Place a teller — Spawn a Bank Teller NPC inside your bank area
  3. Open an account — Right-click the teller and choose "Open an account"
  4. Get a debit card — Choose your card style and set a PIN
  5. Place ATMs — Use the bank computer to dispense ATMs, then link them with the Network Configurator
  6. Start banking! — Hold your card and right-click any ATM



🔌 Developer API

MC-Banking provides a full API for other mods to integrate with the economy system.

Getting Started

import com.banking.mod.api.BankingAPI;

BankingAPI api = BankingAPI.getInstance();

Personal Banking

// Check balance (in cents — $5.00 = 500)
long balance = api.getBalance(playerUuid);
long savings = api.getSavings(playerUuid);

// Deposit / Withdraw
api.deposit(playerUuid, 500, "MyMod", "Quest reward");
api.withdraw(playerUuid, 250, "MyMod", "Shop purchase");

// Charge (alias for withdraw with clearer intent)
api.charge(player, 200, "TollMod", "Bridge toll");

// Flexible charge — tries cash first, then bank balance
api.chargeFlexible(player, 500, "MarketMod", "Stall fee", true);

// Pay in physical cash notes
api.payCash(player, 13700, "WageMod", "Weekly wage");

// Transfer between players
api.transfer(fromUuid, toUuid, 1000, "TradePlugin");

Business Cards

// Charge a business card — returns null on success, or decline reason
String error = api.chargeBusinessCard(playerUuid, 2500, "Office supplies");
if (error != null) {
    // "Card declined — deactivated. Please contact Acme Corp."
    // "Card declined — daily spending limit reached."
    // "Card declined — insufficient business funds."
    player.sendMessage(Text.literal(error), true);
}

// Check card status
boolean hasCard = api.hasActiveBusinessCard(playerUuid);
long remaining = api.getBusinessCardRemaining(playerUuid);
String bizName = api.getBusinessName(playerUuid);

Cash & Inventory

// Count physical cash in player's inventory
long cash = api.getCashInInventory(player);

// Remove cash items from inventory
long removed = api.takeCashFromInventory(player, 1000);

Transaction History & Hooks

// Read history
List<TransactionEntry> history = api.getHistory(playerUuid);

// Post a note (no money moved)
api.postNote(playerUuid, "LoanMod", "Loan application approved");

// Hook into every transaction
api.onTransaction((uuid, entry) -> {
    if (entry.type.equals("WITHDRAW") && entry.amountCents >= 1000) {
        System.out.println(uuid + " withdrew " + entry.getFormattedAmount());
    }
});

Dependency Setup

dependencies {
    modImplementation fileTree(dir: 'libs', include: ['mc-banking-*.jar'])
}
// fabric.mod.json
{ "suggests": { "mc-banking": "*" } }

All API methods must be called on the server thread. Full documentation in DEBIT_API.md.


📁 Data Storage

All banking data is stored per-world in the world/mc-banking/ folder. Files are automatically migrated from the server root on first load if upgrading from an older version.


📋 Minecraft Version



## 📜 License

© 2025 MC-Banking. All rights reserved.

- ✅ You may use this mod on any Minecraft server (commercial or non-commercial)
- ✅ You may include this mod in modpacks with credit
- ✅ You may use the API to build integrations
- ❌ You may NOT redistribute this mod outside of Modrinth without permission
- ❌ You may NOT decompile, modify, or rebrand this mod and claim it as your own
- ❌ You may NOT sell this mod or any modified version of it

**Credit required:** If you include MC-Banking in a modpack or use it on a public server, please credit "MC-Banking by RecklessMetro" with a link to the Modrinth page.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more