Slimefun Legacy 4.1.41
Slimefun Legacy 4.1.41 — Maintenance & Compatibility
4.1.41 continues from the 4.1.40 stable production baseline with targeted maintenance, Paper 26.2 compatibility hardening, diagnostics fixes, and measured performance improvements.
Performance and stability
- Correct negative-Y coordinates reported by
/sf tick top. - Reduce Electric Smeltery idle ticker overhead without changing recipes, speed, energy, output, or cargo behavior.
- Cache Slimefun Auto Crafter recipe wrappers so selected recipes do not rebuild ingredient predicate objects every machine tick while still reading each machine's stored recipe id and enabled state live.
- Reuse one vanilla inventory snapshot for each complete Auto Crafter recipe match instead of calling
Inventory#getContents()for every ingredient predicate. - Reuse one Smart Port inventory view per temporary crafter interactor and one Smart Port contents snapshot per recipe match, avoiding repeated
BlockMenu#toInventory()and inventory snapshot work for every ingredient. - Cache normal-vs-virtual item resolution lazily per candidate slot during each core Enhanced Auto Crafter recipe attempt. Normal stacks go directly to the already-built recipe predicate after their first resolution, while virtual stacks retain the existing virtual-item-aware matching path. The optimization is intentionally restricted to the exact core
EnhancedAutoCrafterclass so addon subclasses and custom matching overrides are unchanged. - Remove a duplicate storage lookup from
CrafterInteractorManager#getInteractor()while preserving its existing null behavior. - Reuse already validated EnergyNet capacities during charge writes.
- Index registered networks by exact regulator location so Energy Regulator and Cargo Manager tickers avoid scanning the global network list for their own network.
- Cache unchanged vanilla player-head EnergyNet presentation state between ticks. State changes still apply immediately while periodic self-heal validation is deterministically staggered across the 20-tick window to avoid regulator validation bunching.
- Route Resonance Beacon player-only pulse work through the world's player list on Paper-family servers instead of enumerating every entity in every loaded covered chunk. Mob effects and Gravity Well retain full entity enumeration when required, and Folia retains its region-local path.
Live profiler validation
A broader shared Auto Crafter hot-path rewrite was rolled back after live AlbionMC profiling showed the same six ENHANCED_AUTO_CRAFTER machines rise from roughly 1.56 ms to 3.18 ms total. The known-good ticker flow was restored rather than keeping a synthetic micro-optimization that regressed real server performance.
A stable targeted build later measured:
- total ticker time: 18.85 ms across 2,590 blocks
- Slimefun-owned ticker time: 5.36 ms
ENHANCED_AUTO_CRAFTER: 2.38 ms / 6 machines / 0.40 ms averageENERGY_REGULATOR: 1.25 ms / 21 regulators / 0.06 ms averageELECTRIC_SMELTERY_2: 0.66 ms / 12 machines / 0.06 ms average
A later 10-tick sample showed the same six Enhanced Auto Crafters at 1.73 ms / 0.29 ms average, but also exposed a periodic BEACON_PLUS sample spike of 9.01 ms across eight beacons. That observation led to the player-only Resonance Beacon pulse-routing optimization above. Short Energy Regulator samples also varied when periodic vanilla-state validation aligned, leading to the staggered 20-tick validation phase.
The latest pre-RC production-side sample measured:
- total ticker time: 19.31 ms across 2,918 blocks
- Slimefun-owned ticker time: 5.69 ms across 178 blocks
ENHANCED_AUTO_CRAFTER: 2.16 ms / 6 machines / 0.36 ms averageENERGY_REGULATOR: 1.55 ms / 24 regulators / 0.06 ms averageELECTRIC_SMELTERY_2: 1.16 ms / 13 machines / 0.09 ms average
This latest sample is from the prior live test JAR and therefore does not include the final lazy Enhanced Auto Crafter match-mode cache. The final optimization is release-gated by the full CI matrix rather than requiring another production restart before RC.
Compatibility and behavior
- Include Leaf 26.2 in the Paper-family runtime smoke matrix.
- Add
slimefun.update-notifications, defaulting to OP, so operators and explicitly permitted non-OP administrators are notified when a newer published Slimefun Legacy GitHub release is available. - Restore deterministic Resonance Beacon interaction routing: normal main-hand right-click opens the custom Resonance Beacon menu, sneak-main-hand right-click keeps the yellow beam visual toggle, and off-hand interaction is consumed so vanilla Beacon handling cannot replace the custom menu.
- Require Resonance Beacons to be placed more than three chunks apart in the same world. Placement inside the three-chunk square radius is cancelled before Slimefun creates block data and the player receives a clear too-close message. Activator enable/upgrade behavior is unchanged.
- Add required Resonance Beacon interaction and placement-spacing verification to Runtime Gameplay Correctness CI.
- Harden vanilla Auto Crafter recipe handling for Paper 26.2 build SlimefunGuguProject#120 and Paper commit
1797fbccf1f1afffe934943b76ecb1f8d6c2cfcc, which introducedRecipeChoice.PredicateChoice. Shaped recipe accounting and previews now use the genericRecipeChoicerepresentative-stack contract rather than assuming every choice isMaterialChoice, while actual ingredient matching continues to use the recipe's predicate semantics. - Preserve existing item IDs, saved-world data, addon-facing behavior, and established gameplay semantics.
- Avoid migrations and broad behavioral rewrites in the 4.1.x maintenance line.
Paper 26.2 build SlimefunGuguProject#120 validation
The final pre-RC source head was boot-tested twice on the real stable Paper 26.2 build SlimefunGuguProject#120 server with Java 25. Both boots completed successfully, /sf doctor upgrade reported no BLOCKED status, and the second boot observed clean-shutdown persistence. The production build, Runtime Gameplay Correctness, Paper 26.2 runtime smoke, Purpur/Folia/Leaf 26.2 runtime smoke, Paper/Purpur 1.21.11 compatibility, Public API Compatibility, and Slimefun/Addons Compatibility gates all passed before the RC metadata rollover.
Platform targets
- Paper 26.2 — primary; stable build SlimefunGuguProject#120 explicitly runtime-tested
- Purpur 26.2 — supported
- Leaf 26.2 — runtime smoke tested
- Folia 26.2 — experimental
- Paper/Purpur 1.21.11 — legacy compatibility tested
- Java 21 bytecode target; Java 25 build/runtime validation
Release candidate
projectVersion and the compatibility registries are aligned at 4.1.41 for the release candidate. The validated 4.1.40 release commit e6561c97862ac0ef2b61a3657467b81edf62aafd is now the release-blocking previous-stable baseline.
No additional feature or performance changes are planned for 4.1.41 after this rollover unless release-gating CI or live RC validation exposes a release blocker.