History Stages
History Stages is a progression and gatekeeping framework for modpack authors. You define stages, you list what each stage holds back, and players unlock them by researching at a pedestal. Until a stage opens, everything listed in it is out of reach — the item cannot be used, the recipe cannot be crafted, the dimension cannot be entered, the mob does not spawn.
Nothing is locked out of the box. An installed History Stages with no stage files changes nothing about the game.
These pages describe 6.0.x, the NeoForge 1.21.1 build. The Forge and Fabric builds are older and do not have everything described here — check the version you have installed and pick it in the version picker in the top bar. See Versions & Platforms.
Two kinds of stage
| Unlocked by | Applies to | Typical use | |
|---|---|---|---|
| Global | one player, once | the whole server | eras — Stone Age, Iron Age, Endgame |
| Individual | every player, separately | that player only | personal skill paths, professions |
They mix freely in the same pack, and a few lock types only work in one of them. When the same content is listed in a global and an individual stage, History Stages turns on a two-step dual-phase lock for it by itself.
→ Global vs Individual Stages is the page to read before designing a pack. It carries the full matrix of which lock works in which mode, and why.
What a stage can hold back
| Items, Tags & Mods | Single items, whole item tags, or every item from a mod id. |
| NBT & Data Components | Only the enchanted books with Sharpness, only the red leather chestplate. |
| Unlock Actions | Gate one interaction instead of all of them — carry it but do not swing it. |
| Recipes | Specific recipe ids, with a lock overlay in JEI and EMI. |
| Fluids | The fluid, not the bucket — one entry covers every tank and bucket in the pack. |
| Loot | Remove or replace locked items in chest loot and mob drops. |
| Dimensions & Structures | Refuse entry to a dimension, wall off a structure, or cap how often it generates. |
| Biomes | Make a biome unsurvivable until the stage opens. |
| Zones | Areas you draw yourself, each with its own rules. Beta. |
| Entities & Spawns | Stop attacks, stop breeding and mounting, or write a full spawn rule. |
| Merchant Trades | Gate one offer, a whole villager profession, or a merchant level everywhere. |
Build it in the game
The In-Game Editor is the normal way to build a pack, and
almost every pack is built entirely in it. Pause menu, permission level 2, or /history editor.
A stage opens with one tab per thing it can lock, plus searchable pickers that read the live registry, a visual NBT editor, a zone editor with a map, and a dependency editor. You cannot write an id that does not exist, and a save reloads immediately.
The files underneath are plain JSON, one per stage, under config/historystages/. They are
readable and editable by hand, and the editor writes the same format — so the two mix freely. This
wiki describes stages by their fields rather than by which button to press, because a field is
easier to name; each page says where in the editor the same thing lives.
→ Installation & Your First Stage · Where Stage Files Live · Anatomy of a Stage File
Showing players where they are
Large packs can open an interactive Stage Graph from the pause menu, drawing the whole progression tree with the player's own position in it.
Scripts read and change stage state through KubeJS and CraftTweaker, and other mods extend History Stages through the Addon API.