Description
Dynamic Economy: Market Flows
A high-performance economic engine featuring real-time pricing based on supply and demand, automated market erosion, and a universal order-based payment system.
Technical overview
Dynamic Economy replaces static shop systems with a responsive financial ecosystem. Item values are calculated based on the real-time stock/price ratio, ensuring that market prices fluctuate according to player transactions. This system is designed to be a self-regulating solution for server administrators.
Fundamental Mechanics
-
Algorithmic valuation: prices are determined by the ratio between the current global stock and the target stock. As supply increases due to sales by market participants, the unit value decreases; when the market rebalances, values recover.
-
Administrative price caps: systemic safeguards prevent economic collapse. Prices are strictly capped between a floor of $0.01 and a ceiling of $500,000 .
-
Market taxation: A configurable margin of 20% (multiplier of 0.8) is applied by default to all sales to serve as an anti-inflationary measure.
-
Automated rebalancing: To simulate resource consumption, the system triggers a 2% stock erosion and price recovery once 15 item categories reach saturation or 72 hours (IRL) have passed.
Integration and configuration
The module generates two separate JSON files for precise control of the economic environment:
-
market_global_settings.json:-
Universal payment system: compatible with any economic plugin or basic configuration using
#player#placeholders#amount#. -
Default:
/give #player# emerald #amount#. -
Interval setting: Modify saturation thresholds (15 items) and real-time reset windows (72 h).
-
-
market_config.json:-
Individual settings for each recorded item, including base prices, custom stock targets, and specific price caps.
-
User experience
-
Access command: Players can instantly access the market using this
/sellcommand. -
Sales interface: A 34-slot optimized container for efficient bulk liquidations.
-
Live tooltips: Inventory tooltips display the current unit price and stack value calculated based on real-time market data.
-
Feedback system: clear notifications in the action bar (
+$100) and audio signals for each successful transaction.
Implementation requirements
-
Platform: Minecraft Forge 1.20.1
-
Environment: Server side (client installation required for tooltips/graphical interface).
-
Persistence: Market data and timestamps are instantly saved in the JSON structure to ensure data integrity even after a server restart.
Example of default configuration :
{
"moneyCommand": "give #player# emerald #amount#",
"allowDecimals": true,
"globalMinPrice": 0.01,
"globalMaxPrice": 1000000.0,
"syncIntervalSeconds": 120,
"instantSyncOnSaturation": true,
"categoriesBeforeReset": 15,
"hoursBetweenReset": 72,
"erosionRate": 0.98,
"taxMultiplier": 0.8,
"defaultMaxItemsPerCycle": 5000,
"lastRebalanceTime": 1771869476340,
"showTooltip": true,
"limitToIP": true,
"targetIP": "truyty.wabbanode-server.com",
"priceDropPerSale": 0.001,
"priceRisePerSale": 1.0E-6
}{
"minecraft:cod_bucket": {
"basePrice": 10.0,
"currentStock": 100.0,
"targetStock": 100.0,
"minPrice": 0.01,
"maxPrice": 500000.0,
"soldThisCycle": 0
},
"minecraft:burn_pottery_sherd": {
"basePrice": 10.0,
"currentStock": 100.0,
"targetStock": 100.0,
"minPrice": 0.01,
"maxPrice": 500000.0,
"soldThisCycle": 0
},
"minecraft:iron_leggings": {
"basePrice": 10.0,
"currentStock": 100.0,
"targetStock": 100.0,
"minPrice": 0.01,
"maxPrice": 500000.0,
"soldThisCycle": 0
},
"minecraft:ghast_spawn_egg": {
"basePrice": 10.0,
"currentStock": 100.0,
"targetStock": 100.0,
"minPrice": 0.01,
"maxPrice": 500000.0,
"soldThisCycle": 0
},
...




