Overview#
Fex's Small Money Mod (FSMM) is a lightweight yet powerful economy solution designed to bridge the gap between physical item-based trading and virtual currency systems. It allows players to carry physical money items, which can be deposited into virtual bank accounts via an ATM block. The mod is highly extensible, allowing server administrators to define custom currency items, set banking fees, and manage multiple account types (such as personal, corporate, or municipal accounts).
Key Features
- Physical Currency: A wide range of money items from 1 to 1,000,000 units.
- Virtual Banking: Secure accounts for players and groups.
- ATM System: Fully functional GUI for deposits, withdrawals, and transfers.
- Configurable Fees: Set static or percentage-based fees for transactions.
- Inter-Mod Compatibility: Works seamlessly with other Fexcraft mods like Land Developer and FSMM Shop Block.
Items#
FSMM adds a series of "Money" items that serve as the physical representation of wealth. These items can be traded between players or deposited into an ATM.
Money Denominations
By default, FSMM uses a unit system where 1,000 units equal 1 F$ (Fex's Dollar). The following table lists the standard denominations included in the mod:
| Item Name | Value (Units) | Value (F$) |
|---|---|---|
| Money 1 | 1 | 0.001 |
| Money 2 | 2 | 0.002 |
| Money 5 | 5 | 0.005 |
| Money 10 | 10 | 0.01 |
| Money 20 | 20 | 0.02 |
| Money 50 | 50 | 0.05 |
| Money 100 | 100 | 0.10 |
| Money 200 | 200 | 0.20 |
| Money 500 | 500 | 0.50 |
| Money 1000 | 1,000 | 1.00 |
| Money 2000 | 2,000 | 2.00 |
| Money 5000 | 5,000 | 5.00 |
| Money 10000 | 10,000 | 10.00 |
| Money 20000 | 20,000 | 20.00 |
| Money 50000 | 50,000 | 50.00 |
| Money 100000 | 100,000 | 100.00 |
| Money 200000 | 200,000 | 200.00 |
| Money 500000 | 500,000 | 500.00 |
| Money 1000000 | 1,000,000 | 1,000.00 |
Note: Administrators can add custom items from other mods to this list via the configuration file.
Blocks#
The central hub for all financial activity in FSMM is the ATM block.
ATM (Automated Teller Machine)
The ATM is a functional block that provides a GUI for managing your bank account.
- Deposit: Place money items into the deposit slot to add their value to your virtual balance.
- Withdraw: Enter a value to receive the equivalent amount in physical money items.
- Transfer: Send money directly from your account to another player's account using their name or UUID.
- Account Switching: If other mods (like Land Developer) are installed, you can use the ATM to switch between your personal account and group accounts (e.g., a City's Treasury).
Crafting Recipe
In version 1.20.1, the ATM is typically crafted using the following materials:
- Iron Ingots (6)
- Redstone Dust (1)
- Glass Pane (1)
- Gold Ingot (1)
Mechanics#
Banking System
FSMM uses a virtual banking system where every player is assigned a unique account ID based on their UUID (formatted as player:<uuid>).
Transaction Fees
Fees can be configured to trigger during specific transfers. These are defined in the fees section of the config and can be either a flat rate or a percentage. Examples include:
- Withdrawal Fee: A small charge for turning virtual balance into physical items.
- Inter-Account Fee: Charges for transferring money between different account types (e.g., Player to Corporation).
Floating Point Accuracy
To prevent the common "Java floating point inaccuracy" (where small decimals can become corrupted over many calculations), FSMM processes all currency as Long integers internally. This is why the config uses units (1000 = 1F$) rather than standard decimals.
Commands#
FSMM provides several commands for players and administrators to manage the economy.
| Command | Description |
|---|---|
/fsmm balance |
Displays the player's current virtual balance. |
/fsmm info |
Shows detailed information about the current active account. |
/fsmm uuid |
Displays the UUID FSMM is using for the player (essential for offline-mode servers). |
/fsmm pay <player> <amount> |
Transfers the specified amount to another player. |
/fsmm admin add <account> <amount> |
(Admin) Adds money to a specific account. |
/fsmm admin set <account> <amount> |
(Admin) Sets an account's balance to a specific value. |
/fsmm admin take <account> <amount> |
(Admin) Removes money from an account. |
/fsmm reload |
(Admin) Reloads the mod configuration and bank files. |
Configuration#
The mod's behavior is controlled via JSON files located in the /config/fexcraft/fsmm/ directory.
Main Config (settings.json)
- Starting Balance: The amount of money a new player receives upon joining.
- Money Items: A list of items recognized as currency. You can add vanilla items (like Diamonds) or items from other mods here by specifying their Registry Name and Value.
- Banks: Define multiple banks, each with its own unique settings and fee structures.
Custom Money Example
To make a Gold Ingot worth 500 units, you would add the following to the config:
"minecraft:gold_ingot": 500Compatibility#
FSMM is designed to be a base economy mod for the Fexcraft ecosystem:
- FSMM Shop Block: Adds vending machine blocks that use FSMM accounts for transactions. Owners can set prices, and earnings are automatically deposited into their bank account.
- Land Developer: A protection mod where players use FSMM currency to purchase land, pay taxes, and fund municipal projects.
- Payable Command Signs: Allows server owners to create signs that execute commands only after a player pays a specified FSMM fee.