File Details
progressivestages-1.4.jar
- R
- Apr 20, 2026
- 263.29 KB
- 2.7K
- 1.21.1
- NeoForge
File Name
progressivestages-1.4.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
๐ ProgressiveStages 1.4 โ "The World Responds"
Minecraft 1.21.1 ยท NeoForge 21.1.219 ยท Java 21
This release is all about making the world react to your progression โ mobs can now be gated behind stages, dimension locks are watertight even against the nastiest modded portals, and every integration (EMI, JEI, FTB Teams, FTB Quests) is now fully optional. Drop the mod into any pack and it just works.
โจ Headline Features
๐ Mob Spawn Gating โ "No creepers until Diamond Age"
Lock mob spawns behind stages. Creepers won't appear near your players until they reach the Diamond Age. Born In Chaos mobs stay dormant until the player completes your intro quest. The world literally waits for the player to be ready.
Add one or more of these keys to any stage's [locks] section:
[locks]
# Gate specific mobs
spawn_entities = [
"minecraft:creeper",
"minecraft:enderman"
]
# Gate by entity tag
spawn_entity_tags = [
"#minecraft:raiders"
]
# Gate an entire mod's mobs
spawn_entity_mods = [
"borninchaos_v1"
]
How it works: when a mob tries to spawn, the mod finds the nearest player within mob_spawn_check_radius blocks (default 128). If their team has the stage โ spawn allowed. If not โ spawn cancelled. If nobody's nearby, the spawn passes through (no one's watching anyway).
๐ก Independent from attack locks!
entities = [...]blocks attacking.spawn_entities = [...]blocks spawning. Mix and match as you like.
New config options (config/progressivestages.toml):
[enforcement]
block_mob_spawns = true # Master switch for spawn gating
mob_spawn_check_radius = 128 # How far to look for the nearest player (16โ512)
Default demo: The auto-generated diamond_age.toml now gates creepers behind Diamond Age so you can see the feature in action out of the box.
๐ช Ironclad Dimension Locks (Twilight Forest fix)
Players could previously sneak out of locked dimensions through modded portals like Twilight Forest that bypass NeoForge's standard dimension events. Not anymore.
Dimension enforcement is now a three-layer safety net:
- Pre-travel โ cancels the change before it happens (standard path)
- Post-travel bounce-back โ if something slips through, teleport the player back to their origin (catches most modded portals)
- Tick-based check (NEW) โ every second, if a player is somehow in a locked dimension, teleport them to the nearest unlocked one (catches anything that bypasses both events above)
No more escapes. Your dimension locks are final.
๐ฆ Every Integration Is Now Optional
Previously EMI was effectively required. Now everything is optional and soft-loaded:
| Integration | Status | Notes |
|---|---|---|
| EMI | ๐ต Optional | Lock icons and recipe hiding activate automatically if installed |
| JEI | ๐ต Optional | Locked items/fluids hidden automatically if installed |
| FTB Teams | ๐ต Optional | Team-scoped stages activate automatically if installed |
| FTB Quests | ๐ต Optional | Stage-gated chapters/quests activate automatically if installed |
Drop ProgressiveStages into any modpack โ no matter what (or how few) other mods you have โ and it just works. The mod even loads standalone with zero recipe viewers.
๐ Bug Fixes
- ๐ฒ Twilight Forest return trip โ fixed players being able to travel back to the Overworld (or any locked dimension) through a Twilight Forest portal even when the destination was stage-locked.
- ๐ฅ EMI-less crash โ stage changes no longer throw errors when EMI isn't installed. Previously the mod assumed EMI was always present.
- ๐ง Mixin apply errors without EMI โ EMI-specific mixins are now in a separate
required: falseconfig so they simply don't load if EMI isn't there, instead of crashing the game.
๐ ๏ธ Quality of Life
- ๐ Recipe lock debug logging โ Turn on
debug_logging = truein the config andCraftingMenuMixinnow prints the exact recipe ID it's matching on every crafting grid change. Makes diagnosingrecipes = ["kubejs:..."]issues a breeze. - ๐ JEI dependency declaration โ JEI is now explicitly listed as an optional dependency so NeoForge's mod loader knows about it.
- ๐จ Self-documenting templates โ the default
diamond_age.tomlnow includes a full documentation block for the new spawn gating feature with working examples you can copy.
๐ Upgrade Notes
- No breaking changes. All existing
items,blocks,entities,recipes,dimensions, etc. locks work exactly as before. - No config migration needed. New config keys (
block_mob_spawns,mob_spawn_check_radius) are appended automatically with safe defaults. - No datapack or resource pack changes needed.
๐งช For Modpack Devs
The mob spawn gating system is fully team-aware, creative-bypass-aware, and respects the existing unlocked_entities whitelist. It ties into the same StageManager.hasStage() path as every other lock, so FTB Teams integration just works.
Full cascade table (updated):
| Lock Type | Blocks | Items | Entities | Fluids | Spawns |
|---|---|---|---|---|---|
mods = [...] |
โ | โ | โ | โ | โ |
spawn_entities = [...] |
โ | โ | โ | โ | โ |
spawn_entity_tags = [...] |
โ | โ | โ | โ | โ |
spawn_entity_mods = [...] |
โ | โ | โ | โ | โ |
entities = [...] |
โ | โ | โ | โ | โ |
Spawn gating is opt-in per entity โ the generic mods = [...] and entity_mods = [...] locks do not affect spawning. You have to use spawn_* keys explicitly. This is by design so existing configs don't suddenly start hiding mobs.
๐ฅ Download
File: progressivestages-1.4.jar
Requires: NeoForge 21.1.219+ on Minecraft 1.21.1
Recommended (but optional): EMI, JEI, FTB Teams, FTB Quests
Thanks to the community for the bug reports that drove this release โ the Twilight Forest dimension bypass and the EMI-optional request both came directly from player feedback. Keep them coming! ๐

