- Fixed: Critical stock-volume accounting exploit where large buys/sells could be partially erased by the old per-transaction price-change clamp.
- Fixed: Market stock and prices now persist correctly through
/stonkz reloadand server startup instead of resetting back totarget_stock.- Fixed: Stock graph maps now reattach their renderer after reload/restart so maps in inventories and item frames continue updating.
- Changed:
max_price_change_per_transactionis now deprecated because stock volume is always fully counted; price extremes remain bounded by the dynamic price range.
Added
- Optional Stonkz market/data backups with daily scheduling, retention, and manual backup creation.
- New admin backup commands:
/stonkz admin backup create,list, and safe restore staging.- Optional pre-reload safety backups with
backups.backup_before_reload.
Fixed
- Fixed a critical Premium short-selling exploit where opening a short could affect the same market price used to settle it.
- Short positions now count existing and pending exposure before allowing another short.
- Short selling now respects both
features.short_selling_enabledandmargin_trading.enabled.- Vanilla sell commands now reject protected/custom/plugin-tagged items instead of treating them as normal stock.
- Worth display no longer adds Stonkz market lore to protected/custom plugin items.
Important
- Backups protect Stonkz market data, config files, SQLite database files, and Stonkz table exports.
- They do not replace a full server backup or external economy plugin balance backup.
- Added: Weighted market event chances, including manual-only events with weight 0.
- Added: Optional panic recovery controls for random panic duration, recovery rolls, extensions, and post-recovery cooldowns.
- Fixed: Disabling panic mode now fully clears panic state and stops panic checks.
- Fixed: Premium volatility no longer counts as fake player sales, so it cannot trigger panic mode by itself.
- Fixed: Fresh databases now create player-shop tables, and first-start item auto-population saves much faster.
- Added: More customizable market categories with priority/order, disabled built-ins, exact matches, pattern rules, and exclude rules.
- Added: Multi-target supply-chain links so one item can affect several material stocks.
- Added: Active market events now persist through normal reloads/restarts if their saved end time is still active.
- Added: Stock maps now keep updating while placed in item frames.
- Fixed: Flowers, golden/custom flowers, quartz blocks, and uncategorized items now sort into better category groups.
- Added: Market events can now use random duration ranges with
duration_minandduration_max.- Added: Events can roll
recovery_chancewhen their current time slot expires.- Added: Failed recoveries can extend events with configurable extension durations,
max_extensions, andextend_message.- Fixed: Discord event alerts now show price changes correctly for both boosts and crash events.
- Changed: Updated
events.ymlcomments and docs for long-running events like The Great Depression.
- Added: Stock graph maps now refresh when price/history changes, including maps displayed in item frames.
- Added: Default categories for cooked meats, music discs, and trial chamber items.
- Added: Custom category priority plus
inherit_defaults: falseandreplace_defaults: true.- Fixed: Category sub-menus now use the same primary assignment as the main market page, preventing overlap like Netherite showing in both Ores and Nether.
- Fixed:
HEAVY_COREno longer gets caught by the broad ore matcher.
- Added: Configurable market categories with
gui.categories, plus per-itemcategoryandcategoriesinitems.yml.- Added: Premium stock graph maps through
/stonkz map <item>when stock maps are enabled.- Fixed:
/stonkz mapnow respectsfeatures.stock_maps_enabled, and stock map items are protected from sell/quick-trade matching.- Fixed: Category grouping now handles berries, spider eye, and overlapping netherite items more accurately.
- Fixed: Panic-mode buy abuse by blocking normal buys during panic by default;
panic_price_multipliernow follows config, andpanic_allow_buying: trueopts back in.
- Added: New addon API item worth snapshots via StonkzCore#getAddonApi().getItemWorth(...).
- Fixed: /stonkz map now shows usage or availability instead of falling through as an unknown command.
- Fixed: Panic-mode Discord alerts now batch into one summary when several items enter panic mode together.
- Fixed: Panic and recovery Discord embed labels now avoid malformed encoded characters.
