
StockMarket
StockMarket is a Minecraft mod that brings a better way for trading to the game. It enables players to trade items on a virtual stock market, making it ideal for multiplayer servers with active economies.
Stock Market Mod
Version 2.0.6 is a TEST VERSION — expect bugs and breaking changes. Use in production worlds at your own risk. Stable release: v1.3.1.
StockMarket is a Minecraft mod that brings a virtual stock market to Minecraft. Players trade items on a real-time matching engine with candlestick charts, order books, and market/limit orders — just like a real exchange. Prices react to what players actually buy and sell, and a modular plugin system fills in the rest: baseline liquidity, volatility, target-price bots, and a full news event system that pushes market-moving headlines. Admins get an in-game management console for markets, plugins, presets, and settings; server networks share a single market through a master/slave architecture with trust-based access control.
More info and documentation: GitHub
Requires BankSystem, Architectury, and ModUtilities. Both server and client need the mod installed.
Features
- Real-time trading with candlestick charts, order-book depth, and per-candle traded-volume bars
- Market orders (instant) and limit orders (price-targeted), with draggable order markers on the chart to move an order to a new price
- Inter-market trading — trade items directly against other items (e.g. iron for diamonds) without a sell → buy roundtrip
- Pending-orders panel with live updates and one-click cancel; full order history and market transaction log per market
- Bank-account selector on the trade screen — choose which of your bank accounts funds each trade; balances and open-order list are scoped to it
- Favorites — star markets you trade often for quick access; last-selected market restored per player
- News Event System with a craftable newspaper, 72 default bilingual events, per-event woodcut illustrations, multi-step impact sequences (spike → decay → recovery), trigger requirements, event chains, and JSON-configurable custom events
- Villager trading integration — villager/wandering-trader offers for market-listed items are repriced from the live stock market with configurable buy/sell margins; merchant money costs can be paid with any denomination combination
- Modular plugin system — VolatilityPlugin (with player-flow price equilibrium), TargetPriceBot (PID), DefaultOrderbookVolumeDistribution, and NewsPlugin. All independently enable/disable, subscribable per market, with a developer SDK for custom plugins
- In-game Mod Settings screen — every
settings.jsonvalue editable live, validated and clamped server-side; restart-required settings are labelled - Management GUI — create markets, browse 32 default preset categories (blocks, ores, food, tools, armor, enchanted books, potions, tipped arrows, …), edit presets inline, manage plugins with a per-plugin performance profiler bar, and admin the news system
- Multi-server support — master/slave architecture. Untrusted slaves are locked to read-only browsing; every mutating request (orders, plugin changes, preset edits, mod settings, news ops) is rejected at the master
- Admin permission flag dedicated to StockMarket — operator level alone no longer grants management access
What's new in 2.0.5
- News Event System — craftable newspaper, 72 default events with woodcut art, multi-step sequences, trigger requirements, world-event registry and event chains, admin management window with Active / All / Scheduler tabs
- Stock-market-driven villager trading — villager offers for listed items reprice against the live market at interaction time; merchant money costs match by value so any denomination combination pays a cost (with exact change returned)
- VolatilityPlugin price equilibrium — sustained player selling lowers a market's price range, buying raises it. The market self-balances against cumulative player trading and per-item Abundance
- In-game Mod Settings screen for server admins — every setting editable from the management window instead of hand-editing
settings.json - Bank-account selector on the trade screen — pick which account funds your orders; balances and open-order list scoped to it
- Plugin performance profiler bar — see per-plugin, per-pass execution time against the server tick budget in the Plugin Management window, with an overflow warning when the load is too high
- Trust-based access control — untrusted slave servers can browse markets but every mutating request is rejected at the master; toggle with
/banksystem trust <slaveID> - Fabric build fix — restores the missing BankSystem dependency on the fabric build (the 2.0.5-specific fix on top of 2.0.4)
- Full changelog for 2.0.1 → 2.0.5 on GitHub
What's new since the last stable release (1.3.1)
- Modular plugin system replaces the old single bot — VolatilityPlugin, TargetPriceBot, DefaultOrderbookVolumeDistribution, and NewsPlugin, each independently enable/disable, subscribable per market, with a two-class developer SDK for custom plugins (v2.0.1)
- Plugin management GUI with candlestick + orderbook overlays, per-plugin custom settings screens, and market subscribe/unsubscribe controls (v2.0.1)
- 32 default preset categories covering vanilla 1.21.1 items — blocks, ores, food, crops, tools, armor, redstone, mob drops, brewing, all enchanted books at max level, potions, splash / lingering potions, and tipped arrows (v2.0.1)
- Traded volume tracking end-to-end — cumulative volume per candle in the SQL history, live streaming to clients, and green/red volume bars in the chart (v2.0.1)
- Draggable order markers on the chart — pending limit orders render as horizontal price lines with a drag handle to move an order and an [X] to cancel (v2.0.1)
- Pending orders panel, order history, and market transaction log tabs on the trade screen (v2.0.1)
- Favorites and last-market memory per player, persisted server-side (v2.0.1)
- Inter-market trading — trade items directly against other items on a pair chart (v2.0.1)
- Preset editor GUI and admin commands —
/stockmarket preset addto capture a held item as a preset,/stockmarket <market> removeto delete a market outside the GUI (v2.0.1 / v2.0.3) - Locale hardening — every numeric format across the UI is pinned to
Locale.ROOT, fixing the TradeScreen crash on,-decimal-separator locales (v2.0.2) - Market lifecycle fixes — deleted markets propagate to every client immediately, drifted or unresolvable markets stay selectable/removable, and duplicate markets from BankSystem ItemID merges are consolidated automatically (v2.0.3)
- News Event System — craftable newspaper, 72 default bilingual events, per-event woodcut art, multi-step sequences, requirements, chains, and JSON-configurable custom events (v2.0.4)
- Villager trading — offers repriced from the live market, denomination-agnostic money payment (v2.0.4)
- In-game Mod Settings screen for admins on the master server (v2.0.4)
- VolatilityPlugin price equilibrium with player-flow self-balancing and per-item Abundance scaling (v2.0.4)
- Plugin performance profiler bar in the Plugin Management window (v2.0.4)
- Bank-account selector on the trade screen — trade from any account you have full permission on (v2.0.4)
- Trust-based access control and dedicated StockMarket-admin permission flag — untrusted slaves are read-only; management access no longer follows operator level alone (v2.0.4)
- Fabric build fix — restores the BankSystem dependency on the fabric build (v2.0.5)
Stock Market Terminal Block
The physical terminal block. Right-click to open the full trading interface — chart, order book, order controls, favorites, pending orders, and history — all bound to your currently selected bank account.
Real-time price chart
Candlestick chart with a traded-volume histogram below. Volumes are colored green/red to match each candle's direction and stream live from the server. Pan, zoom, and switch timeframes.
News Event System
The craftable newspaper is the player-facing feed. Entries are grouped by in-game day with "Day N" separators, and each event carries its own 384×384 grayscale woodcut illustration. Open the newspaper from your inventory, from the Trade or Management screens, or via /stockmarket news.
Click any headline to see the full event: category, affected markets with per-market impact percentages, a live-updating sequence breakdown (ramping → holding → reverting → expired) with per-phase durations and a countdown to the next step.
News admin controls
Active — currently running events with per-market impact rows, picture thumbnail, and per-event skip phase / stop controls.
All events — the full event roster with a details popup, per-event enable/disable, and manual trigger.
Scheduler — control publish frequency and see the upcoming-events timeline with ETAs.
Management GUI
The admin console. Create markets from 32 default preset categories, browse and edit presets inline, manage plugins, edit mod settings, and administer the news system — all without leaving the game.
Plugin management with performance profiler
Enable, disable, and reorder plugins. Each plugin has its own settings UI (inline or full-screen) and a subscribable market list. The performance profiler bar across the top shows per-plugin, per-pass execution time against the effective server tick budget, with an overflow warning when the plugin load is too high.
Crafting recipes
Trading Terminal — the block that opens the trading interface.
Stock Market Display — in-world display that renders a live chart for a chosen market.
Newspaper — the player-facing news reader.
