ProgressiveStages 3.0.4
Curse Maven Snippet
What's new
ProgressiveStages 3.0.4
ProgressiveStages 3.0.4 is a reliability and authoring update for Minecraft 1.21.1 on NeoForge. It fixes the remaining reported 3.0.4 polish issues while adding safe player inventory insertion gates for profession and machine flows.
Fixed
- Curios slot gating works with Curios 9.5.1. Unsupported items are denied and ejected safely, and normal item locks remain available when Curios is not installed.
- JEI and EMI work independently. Each viewer has its own enabled setting, both default to enabled, and either viewer can update after a stage grant or revoke without requiring a relog.
- Easy Builder exposes enchantment generation controls. Search the live enchantment registry, set maximum levels, and set selection weights without editing TOML. A selection weight of zero prevents new rolls. A maximum level of zero also removes retained copies.
- The progression category menu stays in front of stage icons. Open menus now cover every stage frame and item icon while preserving map pan, zoom, filtering, selection, and the inspector.
- Entity presence rules avoid repeated per entity player context rebuilding. The runtime reuses immutable per player context during each server tick while retaining mixed player visibility and interaction behavior.
- Recipe locks save with the correct field. The visual editor writes
[recipes].locked_itemsfor output item locks and[recipes].locked_idsfor exact recipe identifiers. Invalid ambiguous recipe fields are rejected before they can replace an active stage. - EMI refreshes stop cleanly when a client leaves a world. A stale reload cannot run after the client level closes.
Added
- Player inventory insertion rules. Use
type = "item_into_inventory"in[[interactions]]to gate a matching item entering a matching block, menu, or stable server inventory target. The Easy Builder supports paired source and destination selectors, priorities, exclusions, and temporary conditions. - Safe transaction coverage. Normal clicks, shift clicks, drags, and hotbar swaps are checked before the receiving slot changes. Playerless automation is intentionally outside player stage enforcement.
Compatibility
- Minecraft 1.21.1.
- NeoForge 21.1.219.
- Java 21.
- Install on both the client and server.
- Existing stage packages remain compatible. The inventory insertion rule is additive and does nothing until a stage declares it.
Verification
The release candidate passed its full build, tests, GameTests, optional integration startup coverage, final JAR inspection, SPDX SBOM generation, and artifact attestation validation. The attestation verifier also rejected a disposable one byte modified copy of the release JAR.
For configuration examples and the inventory insertion reference, see the project documentation.
This mod has no additional files

