SMP Economy+

Economy mod for Fabric SMP servers

SMP Economy+ is a server-side mod. Put one jar and Fabric API on your server and players get a shop, an auction house, jobs, missions and a bank. They join with the normal game: no client mod, no resource pack.

Minecraft
1.21.11, 26.1.2, 26.2, 26.3
Loader
Fabric
Licence
MIT, free
In-game view with three NPCs named Auctioneer, Banker and Shopkeeper. The sidebar shows money, job level, missions, tasks, kills, playtime and players online.
From a 1.21.11 test server. The platform and NPCs were set up for the picture.

Modules

Running: 16/26

Install it and the core is on. The extras stay off until you want them. A module that is off registers no commands and creates no config or data files of its own (prices.json and shop.json belong to the core), and its sidebar lines and menu buttons are gone too. Only economy can't be turned off.

Core, on by default

  • economyBalances, payments, top list and the server treasury./bal /pay /baltop /treasury
  • starterStart money and a starter kit for new players./smpeco starterkit
  • sellSell from a GUI, your hand or your whole inventory./sell /sell all /worth
  • shopAdmin shop with categories, search, favourites and daily deals./shop
  • auctionPlayer auction house with search and sorting./ah /ah sell [total_price]
  • ordersBuy-order board with orders from players and NPC traders./orders
  • jobsMiner, lumberjack, farmer, hunter, fisher and digger, up to level 50./jobs
  • tasksThree daily tasks and a bonus for finishing all of them./tasks
  • missionsMission board with four tiers and one elite mission a day./missions
  • bankSeparate bank balance with daily interest./bank
  • menuMain menu and a command overview./menu /commands
  • settingsPer-player toggles./settings
  • hudSidebar, tab list header and footer./sidebar
  • statsPlayer stats, playtime and leaderboards./stats /playtime /leaderboard
  • holoAdmin-placed holograms, including leaderboards./holo
  • npcAdmin-placed NPCs that open a menu or run a command./smpeco npc

Extras, off by default

  • casinoBlackjack, roulette, slots, crash, plinko, dice and more, with a daily loss limit per player./casino
  • eventsLottery, timed server events and trader ranks./lottery /event /rank
  • clansInvites, ranks, clan bank, clan home and clan chat./clan /cc
  • bountyPut money on another player's head./bounty
  • minigamesChat games, the MEGA challenge, treasure hunts and coinflips./chatgame /treasure /cf
  • cratesCrates opened with virtual keys and an animated spin./crates
  • dailyDaily login reward with a streak./daily
  • afkAn AFK zone that pays out while players stand in it./afkzone
  • marketMoving market values and NPC buyers and sellers in the auction house. Needs auction./market
  • newsRandom events that move prices for a while, plus flash sales, with titles and a boss bar./news

What your players see

Menus are vanilla chest GUIs, with the vanilla anvil screen for text input. These are unedited shots from a 1.21.11 test server. The platform, the NPCs, the money and the auction listings were set up for the pictures, so the listings are NPC listings and not real player trades.

The main menu chest GUI opened with /menu.
/menu The main menu, with buttons for the mod's features.
The shop GUI with a tooltip on a daily deal.
/shop Categories, search and daily deals.
The auction house with a tooltip showing an Elytra for $9,500 from an NPC seller named [Market] Test Trader, expiring in 5 hours 59 minutes.
/ah Player listings, plus NPC traders if you enable the market.
The jobs GUI with a tooltip listing the Miner job's rewards per ore and the note that blocks you placed and generators pay nothing.
/jobs Blocks you placed and generators pay nothing.
The sell GUI with a tooltip showing the total value of the items placed in it.
/sell Put items in and see what they are worth.
An NPC named Banker with the label Deposit, earn interest.
NPCs Place them with a command and point them at a menu.

Set it up from inside the game

/smpeco admin opens a chest GUI. From there you switch modules and set the start money, starter kit, chat prefix, sidebar title, currency symbol and the sell and job-pay multipliers.

To build the starter kit, fill your inventory the way a new player should get it and click once.

The GUI writes the same JSON in config/smpeconomy/ that you can edit by hand, and /smpeco reload picks it up. Module changes need a restart.

By default players can use player commands and admin commands need OP level 2. LuckPerms works through fabric-permissions-api, and commands have smpeconomy.* nodes.

New players start with $0 until you set a start money. All commands and nodes are in the command list, and every file with its defaults is in the configuration reference.

The admin GUI titled SMP Economy+ Admin with a tooltip on the Modules button reading Running 16/26, Everything is applied.

Where the money comes from

NPC and bank money comes out of a server treasury that starts with $25,000. Spending on NPC buyers and bank interest is capped at 5% of its balance per rolling hour. /sell and job pay are not paid by the treasury, so they add new money to the server. If prices drift too high, lower the sell and job-pay multipliers. See the balance with /treasury and the flows with /smpeco treasury flows.

Saved together with the world

Mod data is saved with a journal right before vanilla saves players and the world, and when a player disconnects. After a crash, money, items and the world go back to the last save together. One gap: when a player disconnects, mod data and other players' files with pending item moves are written too, so until the next autosave those can be newer than the world.

Restore points

A restore point of the mod's data is written after each successful start, and the latest five are kept. If a data file is damaged at startup, or missing although it existed before, the server refuses to start and logs what to do.

Works with

Nothing here is required, and without the other mod nothing changes. I tested these on dedicated test servers with bots, on all four Minecraft versions unless noted.

What happens with these mods

  • VeinminerEvery block of a vein pays on its own. Claims are asked for every block, also with older Veinminer versions that skip the break event for follow-up blocks.
  • Flan, Open Parties and ClaimsBreaks they deny pay nothing. A vein that crosses a claim border stops at the border and pays for the blocks outside. Vein test run on all four versions with Flan, and on 1.21.11 and 26.1.2 with Open Parties and Claims.
  • Tree HarvesterEvery log of a felled tree pays. Placed logs pay nothing.
  • RightClickHarvestHarvests pay. Harvests Flan denies pay nothing.
  • Universal Shops (tested on 1.21.11 and 26.3)Sells for player money through Common Economy API, which is bundled in the jar. One raw unit is one cent. The bank and the treasury are not exposed.
  • Styled Chat (placeholders tested on 1.21.11 and 26.3)Can show the placeholders below. Clan chat stays private.
  • Styled Player ListKeeps the tab list, because it resends its own header and footer every second. Put the placeholders below in its style files to show the mod's data there. Set tablistWithStyledPlayerList in hud.json to send the mod's tab list anyway.
  • VanishThe sidebar and tab footer count of online players leaves out vanished players for anyone who can't see them.
  • Carpet/player bots get no job pay, account or start money, and stay off /baltop. Set botsEarn in jobs.json to let them earn job pay; a bot that earns gets an account and then shows up on /baltop. Tasks, missions and other rewards also skip bots in the code, but I only ran the cases above with a real bot.
  • Universal GravesGraves work. Dying with items in the sell GUI sells them once.
  • Polymer (tested on 1.21.11 and 26.3, with Universal Shops items)Modded items can be priced like vanilla ones.

No conflict found

Placeholders and modded items

With Placeholder API, which Styled Chat and Styled Player List bring along: %smpeconomy:balance%, %smpeconomy:balance_short%, %smpeconomy:bank%, %smpeconomy:job%, %smpeconomy:job_level%, %smpeconomy:currency%.

Add item ids from other mods to prices.json, shop.json, market.json or orders.json.

Command names and conflicts

If another mod has already registered a name such as /shop or /pay by the time SMP Economy+ adds its commands, SMP Economy+ leaves it alone and logs a warning. The warning names the mod when it can tell which one it is. You can take the command back under another name in commands.json.

The conflicts I know about, including Burger Economy, are listed in the README under Known conflicts.

Install

  1. Set up a Fabric server and put Fabric API into mods/.
  2. Put the jar for your Minecraft version into mods/, for example smp-economy-plus-1.0.0+26.2.jar.
  3. Start the server once. Configs appear in config/smpeconomy/, data in <world>/smpeconomy/.
  4. Join as an operator and run /smpeco admin.
Requirements per version
MinecraftJavaFabric Loader
1.21.1121+0.19.5+
26.1.225+0.18.4+
26.225+0.18.4+
26.325+0.19.3+

Questions

Do players need to install anything?

No. It runs on the server only. Players join with a vanilla client, with no client mod and no resource pack. Menus are chest GUIs, and text input such as search and prices uses the vanilla anvil screen.

Does it work in singleplayer?

No. It is built for dedicated Fabric servers and does not load on clients.

Which Minecraft versions are supported?

1.21.11, 26.1.2, 26.2 and 26.3, with one jar per version. 1.21.11 needs Java 21 or newer and the 26.x versions need Java 25 or newer.

Do I need LuckPerms?

No. Without a permission plugin, player commands are open to everyone and admin commands need OP level 2. LuckPerms is optional if you want to control commands per group.

Can I turn off the casino?

It is already off, along with the other extras. Every module except economy can be switched in /smpeco admin or modules.json, and a change needs a restart.

Where does NPC and bank money come from?

From a server treasury, funded by a share of shop purchases, auction tax, casino losses and fees. /sell and job pay do not come from it, so they add new money. The figures are in the money section above.

Can I change prices and currency?

Yes. Prices live in prices.json and shop.json. The currency symbol and global multipliers are in the admin GUI.

Can I move a world to an older version?

No. Going back to an older Minecraft version with the same data isn't supported. Moving from 1.21.11 to 26.x works: balances, auctions, orders and other mod data load on 26.x.

Is it free?

Yes, free and MIT licensed. If you use it in a modpack or a fork, please credit "SMP Economy+ by Levi (12iveL)" and link back. The jar also bundles sgui (LGPL-3.0), Common Economy API (Apache-2.0) and fabric-permissions-api (MIT) under their own licences.

Who made this?

Levi (12iveL). I built it for my own SMP and turned it into a public mod.