Repository navigation
SF_MagicExpansion 1.1.16
MagicExpansion 1.1.16
This coordinated maintenance release completes the item and machine audit, portable
shop receipt repair, optional Slimefun market catalog and Black Market stable-read
handling. It retains the existing item and research identities, saved data keys,
recipes, costs, machine rates and optional integrations.
Shops and saved receipts
Portable shops now commit a purchase receipt before issuing its reward. A refused
receipt save restores the payment and leaves the purchase allowance available.
The shop editor, ordinary restart and catalog population preserve existing usage.
Black Market reads recheck the file after reading and refuse an unstable snapshot
without overwriting the external data.
Operators can add the bundled fixed catalog with /magicshop generate or by
left-clicking Update / Populate Shops in the admin menu. The catalog contains
207 offers in 19 named shops: 151 core Slimefun offers and 56 optional
InfinityExpansion2 offers. Missing or disabled required items refuse the complete
offer. Catalog population adds previously unseen offer IDs, preserves installed
prices and counters, and remembers deleted offers. It is an explicit operator
action; starting the server does not populate new stock automatically.
The existing Garran, Artificer and Xur shops and randomized Black Market cycle
remain in place. Right-clicking the sunflower reloads saved shops. New
/magicshop open <shop> and /magicshop blackmarket commands support self-service;
openfor <player> <shop> and blackmarketfor <player> require the operator-default
permission to open a menu for another player. See market catalog guidance
for allowance caps, physical-item prices and NPC command examples.
Items, machines and world changes
The completed audit repairs inventory conservation and underfilled-input handling
in crafting and machine paths, bounds resource output and power transfers, and
preserves stored state during refused output or failed saves. It also covers
stacked fish output, generators, storage pages, consumables, protection checks and
structure placement. The untimed mystery-box scanner and storage chest expose
zero energy capacity, retaining their established unpowered behavior.
The Fish Energy Generator retains its full long-valued output through both
supported Slimefun data-container overloads. A malformed encoded Page Chest slot
refuses the entire page without changing its stored contents or issuing drops.
The guide generator saves its selected 64-book batch before delivery and retains
the portion that cannot fit in the 36 output slots. Pending delivery drains before
another cycle, without extra energy charges; an uncertain write holds the saved
record instead of automatically delivering it again. Collect pending output before
breaking the machine. This is normal-restart protection, not a claim of atomic
persistence across a machine menu and its block-data record during power loss.
Saved item encoding uses the JDK Base64 implementation instead of an internal
SnakeYAML class that is unavailable on some supported servers. Existing wrapped
Base64 records remain readable, and newly written records retain the legacy format.
World-changing tools check the final destination and respect protection refusals.
Structure operations preflight the affected blocks, track every attempted write,
and report restoration failures accurately. Container or other tile-state
replacements are refused where restoring a snapshot could duplicate dropped data.
Release and validation
The canonical file is SF_MagicExpansion1.1.16.jar. It is built with Java 25 against
the Paper 1.21.11 and checksum-pinned stable Slimefun API, with Java 21 baseline
bytecode. Supported API compilation and native runtime audits remain release gates,
including the full addon stack, item catalog, machine transactions, generators,
power relays, stacked vivariums, storage, portable-shop restarts and catalog imports.
Temporary audit plugins and test libraries are excluded from the distributable.
Native fixture values are now retained in source and checked against every original
item and authored-shop fingerprint, removing a deleted Actions artifact dependency.
Ordinary master pushes build artifacts without publishing. Explicit release runs
refuse mismatched version tags and refuse to replace an existing release.
Automated verification covers the exercised server API and persistence paths. It
does not establish power-loss atomicity, every historical world, arbitrary external
plugin behavior or live-client rendering. Folia is not promoted by this release.
Upgrade
Stop the server normally, retain a complete backup of worlds and plugin data, and
replace the previous MagicExpansion JAR with the single canonical 1.1.16 JAR. Keep
plugins/magicexpansion/, portable shop files, Black Market cycle and player
receipts. Start normally; do not use /reload or overwrite used shops with starter
copies. Existing catalog definitions are preserved; review prices before choosing
to populate additional offers.