Monetary 1.7.0
Curse Maven Snippet
What's new
Monetary v1.7.0 — The Recipe Market Update
Monetary 1.7.0 is the first public release since 1.5.0 and also includes everything from the unreleased 1.6.0. Every craftable item now gets a price from its recipes, so the market covers whole modpacks, Create included. Every exploit found in the 1.5.0 audit is closed, the economy is safe on dedicated and multi-world servers, the mod is fully localised and the Datapad has been redesigned.
⚠️ Network protocol bumped to 3: server and clients must both run 1.7.0. Back up your world before updating from 1.5.0.
🧮 Recipe-Derived Prices
- Automatic prices: Items without a JSON price entry get one from their cheapest recipe:
buy = ceil(cost × (1 + markup))andsell = floor(buy × sellRatio). Defaults are markup 0.15 and sellRatio 0.5. - Supported recipes: Vanilla crafting, smelting, blasting, smoking, campfire cooking, stonecutting and smithing. Create recipes are also supported: mixing, compacting, pressing, crushing, milling, cutting, splashing, haunting, sandpaper polishing and mechanical crafting. Create stays an optional dependency.
- Fluids, chances and containers: Create fluid inputs and outputs, chance outputs and returned containers (for example the bucket left over from a milk bucket) are all counted.
- New
[recipePricing]config section:enabled,markup,sellRatio,trendHeadroom,clampAnchors,recipeTypes,maxDerivedandderivedCategory.
🛡️ Anti-Arbitrage & Economy Fixes
- No craft-and-sell loops: Sell prices of recipe outputs are capped. Even with the maximum 1.40 sell bonus and a full trend swing, the outputs of any recipe sell for less than its ingredients cost to buy.
- Hand-written prices checked: With
clampAnchors = true(the default), JSON sell prices that break this rule are lowered and logged. For example, stone sell drops from 2 to 1, because cobblestone (buy 2) smelts into stone. - Trend can't reopen arbitrage: Recipe outputs still follow a falling trend on sell prices, but never get a rising one.
- No more infinite-money contracts: Repeatable contract rewards never pay more than the true cost of their materials, division bonuses included. That cost is the market buy price or the recipe cost, whichever is lower.
- Sell bonus capped at 1.40: Market sales and fluid export now use the same capped bonus calculation.
- Shop prices fixed: Corporate shop entries that sold below the commodity market buy price have been corrected.
- Datapack and KubeJS validation: Contract and shop data is checked on load. Entries that would allow arbitrage once the maximum bonuses apply are logged and clamped.
- Bank check duplication fixed: Redeemed check serials are never pruned anymore, so old checks can't be cashed twice.
🔒 Ownership & AE2
- Export Seal ownership: Only the bound account's owner, a team member or an operator can unbind a seal. Binding respects spawn protection and adventure mode, and every bind is logged with who placed it.
- AE2 Market Cell: Purchases through the ME drive go through the regular market quote and are recorded, so slippage and price history apply. Non-player sources can no longer spend the owner's credits.
📡 Server Stability & Admin
- Per-server market state: Market prices and history are kept per server and are thread-safe. Single-player worlds no longer leak state into each other.
- Reliable
/reload: Catalog reloads go through a proper reload listener./monetary reloadalso recalculates recipe prices. - Lighter joins: Clients only download the full catalog when theirs differs from the server's, which cuts join traffic on large modpacks.
- Prices computed once per data load: Results are cached, so a
/reloadthat changes nothing reuses the previous prices. - Safe fallback: If the price calculation fails, the plain JSON catalog is restored and the log warns that the anti-arbitrage guarantee is off.
- New command
/monetary prices recompute(operators only): recalculates prices, syncs every client and prints a summary. - Diagnostics file:
config/monetary/derived_prices.jsonlists every derived price with its recipe, plus clamped anchors, unstable items and skipped recipe types.
🖥️ Datapad Redesign
- New START tab: A quick-start guide with direct links to the Market, Contracts and Research tabs.
- Cleaner layout: Item and value tooltips, text that truncates instead of overflowing, feedback sounds, and status messages that read correctly in every language.
- First-join hint: A toast tells new players how to open the Datapad.
🌍 Localisation
- Every GUI and chat string now uses lang keys: English and Italian are complete, and anyone can add a language with a resource pack.
🧹 Polish
- Branding: Leftover "Industrial Empire" references removed from the logo and
pack.mcmeta. - License: A LICENSE file is now included in the jar.
- Smaller jar: Unused textures and the template example item have been removed.
- Logging: Debug console output replaced with proper logger calls.
📝 Known Limitations
- Create sequenced assembly recipes are not priced yet.
- Recipes whose output carries NBT (potions, enchanted books, etc.) are skipped by the recipe pricer.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

