CurseForge · Minecraft mod
Stagelock
A modern take on GameStages: one mod, datapack and KubeJS-driven.
Quick answer
Which Stagelock release should I use?
stagelock-neoforge-1.21.1-0.1.1.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is Stagelock required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does stagelock-neoforge-1.21.1-0.1.1.jar need?
stagelock-neoforge-1.21.1-0.1.1.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Stagelock without breaking your instance.
Built for stagelock-neoforge-1.21.1-0.1.1.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use stagelock-neoforge-1.21.1-0.1.1.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside stagelock-neoforge-1.21.1-0.1.1.jar. It opens that exact file at the source.
About this project
What does Stagelock add?
StageLock
Stage-based progression gating for NeoForge 1.21.1
A modern take on GameStages: one mod, datapack- and KubeJS-driven.
What it does
StageLock lets modpack makers lock content behind stages. Stages are named milestones such as iron_age or nether. Players unlock them through advancements, quests, commands or scripts. Until then, locked content can't be used. It can also be hidden entirely.
Features
- Player, team and global stages
- Teams come from FTB Teams or vanilla
/team. - Global stages apply to the whole server.
- Teams come from FTB Teams or vanilla
- Item restrictions
- You choose which actions to block: pickup, use, place, attack, mine, equip, holding, crafting, and showing in recipe viewers.
- Locked items can show a hidden name such as "Unfamiliar Item".
- Recipe gating
- Works in the crafting table, the inventory grid, the smithing table, the stonecutter, campfires and the crafter.
- Furnaces and other machines use the stages of the player who placed them, even while that player is offline.
- Blocks: stop players breaking, using or placing them, or disguise ores as stone until they're unlocked.
- Fluids, enchantments, dimensions and mobs: lock buckets of lava, Mending gear, the Nether, or a mob's spawns.
- Stage definitions: display names, prerequisites, unlocking from advancements, and unlock messages or functions.
- Live recipe viewers: JEI, REI and EMI hide locked items and recipes, and bring them back the moment a stage unlocks.
- Vanilla hooks: a loot condition, an advancement trigger and an entity predicate, all for checking stages.
- Fast: rules are indexed ahead of time, and inventories are only rechecked when something actually changes.
Easy to set up
Drop JSON files into a datapack. /reload applies changes instantly.
{
"type": "stagelock:item",
"requires": "iron_age",
"items": ["#c:gems/diamond", "@mekanism"],
"hidden_name": "Shiny Rock"
}
Prefer scripts? The KubeJS API builds the same rules:
StageLockEvents.restrictions(event => {
event.item('minecraft:diamond').requires('iron_age').hideName('Shiny Rock')
event.recipe('minecraft:iron_pickaxe').requires('stone_age')
event.dimension('minecraft:the_nether').requires('nether')
})
Existing KubeJS player.stages scripts and FTB Quests stage tasks keep working. StageLock stores the stages behind them.
Integrations
All of these are optional:
- KubeJS: rules, stage definitions, grant and revoke events, and a
StageLockscripting helper. - JEI, REI and EMI: live hiding of locked items, fluids and recipes.
- FTB Teams: team-scoped stages for parties.
- FTB Quests: stage tasks and rewards, via KubeJS stages.
- Curios: locked items can't be equipped in curio slots.
- Jade: shows what a locked block requires, and shows disguised blocks as their disguise.
- Quest Queen: works with Quest Queen
Commands
Every command also works as /stage.
/stagelock grant | revoke <players> <stage>: works on offline players too./stagelock globaland/stagelock team: manage server-wide and team stages./stagelock why <player>: explains exactly which rules lock the held item./stagelock dump: exports every rule and stage for review./stagelock import gamestages: migrates existing GameStages player data.
Try it out
A small example progression ships inside the mod: Stone Age, then Iron Age, then the Nether. Enable it with:
/datapack enable "mod/stagelock:datapacks/examples"
Requires NeoForge 21.1+ on Minecraft 1.21.1. Install it on both client and server.
Project description from CurseForge.
Pick your setup
Stagelock by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Stagelock versions and loaders
stagelock-neoforge-1.21.1-0.1.1.jar
stagelock-0.1.1.jar
12 Oct 2026
stagelock-neoforge-1.21.1-0.1.0.jar
9 Oct 2026
Looking for an older file? The official CurseForge project page is in Resources.