NsTut Lib 0.8.1 - Forge 1.20.1
Curse Maven Snippet
What's new
NsTut Lib 0.8.1
Fixed
- Make recipe processing transactional and persist active recipe/progress state across reloads.
- Roll back partial item/fluid input and output commits when a Forge handler diverges during execution; unsafe non-restorable handlers are rejected before mutation.
- Add a NeoForge 26.1.2 transactional fluid adapter so native
ResourceHandler-backed fluid storage can safely participate in legacyIFluidHandlerrecipe transactions while preserving rollback support. - Treat rollback failure as non-retriable transaction corruption and cancel the active recipe instead of risking duplicate output or repeated input consumption.
- Prevent item/fluid output duplication, illegal overstacking, NBT-insensitive matching, and wrong-fluid draining.
- Roll probabilistic item outputs once when a recipe starts, persist the selected outputs, and reuse the same result across reloads and safe rollback retries.
- Respect per-ingredient consumable semantics, preserve the legacy omitted-
isConsumable = falseJSON behavior, and consume exact remaining energy on the final tick. - Validate recipe JSON/network payloads and reject incompatible network protocol versions.
- Validate multiblock block states and support rectangular pattern rotation.
- Reduce multiblock validation churn and controller block-state writes.
- Validate active machines on a shared five-tick cadence, revalidate immediately before recipe start, and revalidate again immediately before output commit so a broken structure cannot emit stale output.
- Share machine validation/retry timing policy across Forge 1.20.1, NeoForge 1.21.1, and NeoForge 26.1.2 to prevent cross-target drift.
- Preserve safely rolled-back active recipes after transactional capability divergence and retry with bounded backoff instead of failing the server tick.
- Replace reflective machine construction with typed factories.
- Fix NeoForge 26.1.2 keyed
MachineBlockconstruction by accepting and forwarding the registry-ownedBlockBehaviour.Propertiesinstance. - Align the NeoForge 26.1.2 development/runtime API revision with the Biotech 2.1 consumer-tested revision.
- Restore NeoForge 26.1.2 client item definitions for Smart Hammer and Structure Scanner so their existing models render through the modern client-item layer.
- Make Smart Hammer dedicated-server safe, deterministic to its invoking player, resource-preflighted, and non-destructive.
- Make Structure Scanner sync player-targeted, volume-bounded, cross-platform, and generate valid pattern output.
- Remove tracked runtime/local-Maven artifacts and add CI/regression tests.
- Update the Foojay toolchain resolver to 1.0.0 for Gradle 9.1 compatibility in CI and local publishing.
0.8.1 supersedes the incompatible 0.8 binary for NeoForge 26.1.2 consumers.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

