All Mods Resource Packs Data Packs Shaders Modpacks Plugins
History Stages

History Stages

by Bananemdnsa β€’ Downloads: 0 β€’ Followers: 0
Description
Gallery
Changelog
Versions

  • πŸ“– Wiki β€” full documentation, config fields, JSON examples & developer API
  • πŸ’¬ Discord β€” support, questions & sneak peeks
  • πŸ› Issue Tracker β€” bug reports & feature requests

History Stages is a progression and content-gating mod for modpack creators. Lock items, recipes, fluids, dimensions, structures, biomes, mobs, merchant trades, enchantments and loot behind custom stages β€” server-wide eras or personal skill paths β€” and let players unlock them however you want: research at a pedestal, automatically when they reach a biome, earn an advancement or hit a statistic, or through quests, scripts and commands.

Stages can unlock server-wide (global), per player (individual), or as Dual-Phase β€” locked globally first, then per player once the era is reached. Individual stages can also be shared within an FTB Teams party, and stages can exclude or stand in for each other and lock themselves again. You build all of it in the in-game editor β€” no scripting required, with plain JSON files underneath if you prefer. You decide how progression works in your pack.

🎬 Trailer


πŸ”’ What You Can Lock

Almost everything β€” not just item usage:

  • Items & Tags (incl. NBT criteria), entire Mods (with exceptions), Specific Recipes β€” recipe locks apply per player at the crafting table, the 2Γ—2 grid, the stonecutter and the smithing table, and a locked recipe stays out of the recipe book
  • Dimensions, Structures & Biomes β€” with force-field zones, damage, potion effects & a red screen overlay
  • Zones β€” an area you draw yourself, built from cuboids, spheres and cylinders, several shapes per zone. A locked zone pushes players back, shows a force-field wall up close and an outline from a distance, and tints the screen from the inside
  • World Generation β€” keep locked structures out of the world entirely, or cap how many may generate (while locked, or after the stage is unlocked)
  • Mobs β€” attacklock & interaction lock: breeding, mounting, trading, leashing, shearing, milking, naming and equipping, each toggleable per entry and filterable by held item
  • Spawn rules β€” a spawn lock is a full rule: a phase, eight optional conditions (dimension, biome, sky, height, time of day, light, weather, moon phase) and biomes the creature additionally spawns in, with a sentence in the editor saying in plain words what the rule does
  • Trades β€” hide a single offer, a whole profession (optionally only on some of its levels), or a merchant level, per player, back the moment the stage unlocks. A locked offer is absent from the list rather than crossed out, so nobody loses a profession or stops levelling
  • Fluids β€” gate a fluid through whatever is carrying it: vanilla buckets, modded buckets and tank items alike, without listing a single item id. It also covers the recipes that fluid is consumed by or produces
  • Loot β€” chests & mob drops, removed or replaced
  • Blocks β€” breaking, GUIs & container access
  • Enchantments & Potion Effects β€” books, gear, potions and tipped arrows that carry them, plus the enchanting table, anvil and brewing stand, optionally from a set level
  • Disguises β€” a locked ore or item looks like something else until its stage opens, per player: emerald ore that shows as stone. The idea behind Revelationary, built in
  • Armor Stands & Item Frames β€” displayed locked items are protected

On top of that, locked items can hide or replace their names and tooltips, and per-entry unlock_actions let you allow specific interactions (e.g. pickup or crafting) while everything else stays locked.


πŸ”“ Unlock It Your Way

The Research Pedestal is just the default, not a requirement β€” every stage has a mode that defines how it unlocks:

  • Default β€” classic research with Scrolls at the Pedestal
  • Auto β€” unlocks via in-game triggers: item pickup, entering a biome/dimension/structure, entity kill/interact, block place/break, advancements, playtime, any vanilla statistic, XP level, a status effect, the weather, the day count and the time of day (any/all combinable)
  • External β€” unlock only via /history, KubeJS/CraftTweaker, or as FTB Quests reward
  • Temporary β€” unlocks and re-locks on a timer, with cooldowns & trigger limits
  • While β€” open only while a state holds (in the Nether, raining, an effect running) and locked again the moment it ends

Mix all of these freely in the same pack β€” research-driven eras, exploration-based unlocks, and quest rewards can live side by side. Individual stages can also be set to be lost on death, dropping the items they gated.


πŸ”€ Branching Paths & Relocking

Stages don't have to form a straight line:

  • Interchangeable stages β€” when several stages lock the same thing, any one of them is enough: Magic or Mining opens the arcane ore
  • Logic blocks β€” a stage can be blocked, hidden, made cheaper or costlier, or revoked depending on other stages. Two paths that exclude each other β€” fire mage or ice mage β€” take one rule each
  • Lock triggers β€” Default and Auto stages can lock themselves again when something happens (kill a villager and the Peaceful Trader stage is gone) β€” for good, or until it is earned again

πŸ”¬ Research System

Players physically bring Research Scrolls to the Research Pedestal and spend time researching the next era. Four pedestal tiers (I–IV), placeable Research Boosters, and per-stage research times let you tune the pacing. With the Dependency System, stages can additionally require XP levels, mob kills, statistics, advancements, scoreboard objectives, another stage β€” global, or an individual one the researcher alone has to hold β€” and items or whole item tags deposited directly into the pedestal.

What happens to the scroll when the research finishes is up to you, per stage:

  • Consumed β€” the scroll is used up
  • Replaced β€” a fresh scroll for the same stage goes back into the pedestal, so the next player needs no second copy
  • Opened β€” an open scroll stays behind as a readable keepsake

πŸ“œ The Research Record

An opened scroll is a real, readable document β€” chapters for Items, Creatures and World (dimensions, structures, biomes, zones and trades), with a searchable overview of everything the stage gates. Lay it on a lectern and it stays there to be read by anyone who walks up.

Set it to Visible and it reads as a plain record; set it to Obscured and locked entries become silhouettes with their names written in enchanting glyphs. Chapters and overview blocks are re-orderable, so the document says exactly what you want it to say.


πŸ—ΊοΈ Stage Graph

A progression map players can open from the pause menu: stages as nodes, dependencies as edges, colour-coded into Unlocked, Reachable and Locked.

  • Four visibility modes β€” from the whole map down to unlocked only, so you decide how much of the pack's structure players get to see
  • Hand-authorable β€” drag nodes where you want them, or leave the layout to compute itself
  • Per-stage node styles β€” fill, border, label colour and corner radius, each editable per lock state
  • Changing backgrounds β€” a stage can swap the map's background image once it is unlocked
  • Info texts & a detail window β€” describe an era and show exactly what it requires and what it unlocks

It's off by default (the map reveals how a pack is built); admins always reach it through the editor. Colours, title and layout live in a Graph tab in the in-game config editor.


πŸ› οΈ In-Game Editor

Build and tweak your entire stage setup without ever touching a config file β€” straight from the pause menu (OP required):

  • Searchable multi-select lists, folders for your stages and an organize mode to drag them around
  • A recipe picker that shows what a recipe is made of instead of its raw id, with fluids filed where the recipes are
  • A zone editor with a live map you can drag, zoom and jump around in
  • Dedicated editors for Dependencies, Logic Blocks, NBT criteria, Disguises & Lock-Actions β€” Ctrl-click any inventory slot to import its NBT
  • Unlock or re-lock individual stages per player right from the overview
  • Design the Research Scroll tooltip line by line, with colours and a live preview
  • Overlap warnings between global & individual stages, plus a full in-game config editor

🧩 Scripts & Addons

KubeJS and CraftTweaker get a real integration: four KubeJS events, two ZenScript event types and a hasStage expansion on the player. Scripts can read which stages are unlocked, unlock or re-lock them, and ask whether a given thing is gated. What belongs to a stage stays with the editor, so the editor always shows what is actually locked.

Other mods can extend History Stages without a fork and without a mixin. An addon registers its own lock categories, requirements, auto-triggers, per-stage settings and config sections, and each one gets a tab in the in-game editor built from the same widgets as the built-in ones β€” so a packmaker configures it without writing a script. β†’ Addon Development

Already available: HSTG: Permissions β€” lock and grant commands per stage, with ranks and a Commands tab in the editor.


🎨 Feedback & Integrations

Players always know why something is locked: lock icons in inventories and JEI/EMI, "Locked" recipe overlays, toasts with custom per-stage icons, and configurable actionbar/chat messages.

  • FTB Quests β€” native stage task & reward types (global + individual)
  • FTB Teams β€” individual stages can be shared within a party
  • KubeJS / CraftTweaker β€” full scripting API, see above
  • Jade β€” looking at a locked block, entity, armour stand or item frame names the stage it needs
  • Curios & Accessories β€” a locked item cannot be equipped as a trinket, ring or belt
  • Spell Engine & Better Combat β€” a locked weapon is inert: no spell damage, no attack

πŸ“‚ Creating Stages

Use the in-game editor, or write simple JSONs in config/historystages/global/ and individual/ β€” subfolders are picked up, so a big pack stays sorted. Full field reference: The Stage File.

The mod intentionally ships without default recipes for the Pedestal, Boosters & Scrolls β€” you decide how players obtain them (KubeJS, datapack, quest rewards, …). Give a scroll via:

/give @s historystages:research_scroll[minecraft:custom_data={StageResearch:"YOUR_STAGE_NAME"}]

On 1.20.1 and older, where item data is still raw NBT:

/give @s historystages:research_scroll{StageResearch:"YOUR_STAGE_NAME"}

πŸ“¦ Dependencies

  • Lootr β€” required
  • Optional: JEI, EMI, FTB Quests, FTB Teams, KubeJS, CraftTweaker, Jade, Curios, Accessories, Spell Engine, Better Combat

❓ FAQ

Do I have to use the research system?

No. Research at the Pedestal is only the default mode. Stages can also open automatically from triggers, only through quests, scripts or commands, on a timer, or only while a condition holds β€” and all of these can be mixed in one pack.

How does it compare to Game Stages?

Same basic idea β€” content locked behind stages β€” as a single mod: the locks, unlock triggers, research, an in-game editor and a progression map are built in, and no script is needed to set up a stage.

Can stages be unlocked per player instead of server-wide?

Yes β€” global, individual, or both mixed in the same pack (overlaps become Dual-Phase locks).

Can a team share its progress?

Yes. Global stages are shared by the whole server. Individual stages can be shared within an FTB Teams party with Share with team: one player unlocks it, the party has it β€” offline teammates at their next login.

Is Lootr really required?

Yes, loot filtering is built on Lootr's container system. Without loot locking it just sits there quietly.

Do I need FTB Quests?

No β€” the integration only activates when it's installed.

Do I have to update the server and the client together?

For 6.0, yes. The stage sync changed format, so a 6.0 client on a 5.x server gets the incompatible-mod screen instead of being dropped mid-login with nothing in the log. Settings and stage files migrate themselves on first load.

Which versions are supported?
  • 1.21.1 β€” NeoForge
  • 1.20.1 β€” Forge
  • 1.21.1 β€” Fabric
  • 1.19.2 β€” Forge (legacy, no longer updated)

Questions or found a bug? Join the Discord or open an issue β€” we read everything! πŸ™‚

How to Install History Stages (Mod)

History Stages by Bananemdnsa is verified for Fabric, Forge, Neoforge across Minecraft versions 1.19, 1.19.1, 1.19.2, 1.20, 1.20.1, 1.21, 1.21.1 (latest release: 6.1.0-1.21.1-fabric, file size: 3.8 MB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.19, 1.19.1, 1.19.2, 1.20, 1.20.1, 1.21, 1.21.1) and platform (Fabric, Forge, Neoforge).
  2. Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
  3. Move the downloaded History Stages file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric
6d ago 1
1.20.x
Forge
6d ago 1
1.20.x
Forge
10d ago 1
1.21.x
Neoforge
20d ago 1
1.20.x
Forge
1mo ago 1
1.21.x
Neoforge
1mo ago 1
1.21.x
Fabric
1mo ago 1
1.20.x
Forge
2mo ago 1
1.21.x
Neoforge
2mo ago 1
1.21.x
Neoforge
2mo ago 1
1.20.x
Forge
2mo ago 1
1.20.x
Forge
2mo ago 1
1.20.x
Forge
3mo ago 1
1.21.x
Neoforge
3mo ago 1
1.21.x
Neoforge
3mo ago 1
1.20.x
Forge
4mo ago 1
1.20.x
Forge
4mo ago 1
1.21.x
Neoforge
4mo ago 1
1.21.x
Neoforge
4mo ago 1
1.20.x
Forge
5mo ago 1
1.21.x
Neoforge
5mo ago 1
1.20.x
Forge
5mo ago 1
1.21.x
Fabric
5mo ago 1
1.21.x
Fabric
5mo ago 1
1.21.x
Fabric
6mo ago 1
1.20.x
Forge
6mo ago 1
1.21.x
Neoforge
6mo ago 1
1.21.x
Neoforge
6mo ago 1
1.20.x
Forge
6mo ago 1
1.21.x
Neoforge
6mo ago 1
1.20.x
Forge
6mo ago 1
1.20.x
Forge
7mo ago 1
1.20.x
Forge
7mo ago 1
1.21.x
Neoforge
7mo ago 1
1.20.x
Forge
7mo ago 1
1.20.x
Forge
7mo ago 1
1.20.x
Forge
7mo ago 1
1.20.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.21.x
Neoforge
8mo ago 1
1.19.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.19.x
Forge
8mo ago 1
1.20.x
Forge
8mo ago 1
1.21.x
Neoforge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
9mo ago 1

Stages can now stand in for each other, block, hide or revoke one another and lock themselves again. Items can be locked by their enchantments and potion effects, locked things can wear a disguise, and the addon API got what it was missing.

### **New**

  • Stages: "Interchangeable" switch. When several stages lock the same thing, the ones with the switch on stand in for each other, so any one of them is enough. Works for every kind of lock. Tooltip and Jade list them under "One of:" (groupInterchangeableStages in visuals and jade turns that off).
  • Stages: Logic blocks, behind the new "Logic" button. Conditions look at other stages, and there are four kinds:
  • "Blocked while ...": the stage cannot be unlocked while the condition holds. Commands and the editor still go through.
  • "Hidden while ...": the stage shows as "???" (or not at all) in the graph, JEI/EMI and messages, but can still be unlocked.
  • "Cheaper/costlier while ...": scales research time, item and XP costs in percent.
  • "Revoke when ...": takes the stage away the moment the condition becomes true, offline players at their next login.
  • Stages: New mode "While" keeps a stage open only while its state triggers hold (biome, dimension, effect, weather, ...). Default and Auto stages can get lock triggers of their own and lock themselves again.
  • Individual stages: "Share with team" for FTB Teams. When one player in a party unlocks the stage, the rest of the party gets it too. Options in team_mods in gameplay.toml; other team mods can hook in through registerTeamProviders in their historystages entrypoint.
  • Locks: Enchantments and potion effects as new categories. Locks books, gear, potions and tipped arrows carrying them, and the enchanting table, anvil and brewing stand refuse them. The brewing stand only checks global stages.
  • Locks: Disguises. A locked item or block can look like something else until it is unlocked, like Revelationary but built in: emerald ore can show as stone in the world and in inventories ([#125](https://github.com/Flix100000/History-Stages/issues/125)).
  • Locks: Item, fluid and interaction actions and SpawnControl can be fixed for a whole stage in its settings (right click fixes a value).
  • Locks: blockExplosions switch for biome and structure locks, on by default.
  • Locks: Locked ammo is skipped; a bow takes the next arrow it may use.
  • Blocks: Scroll shelves, a chiseled bookshelf for research scrolls in eleven wood types, with hopper, comparator and Jade support.
  • Editor: "Recipes using this item" in the right-click menu adds every recipe that takes an item as ingredient ([#132](https://github.com/Flix100000/History-Stages/issues/132)).
  • Graph: Unplaced stages live in the sidebar, several stages can be selected and moved at once, the auto layout is roomier, and there is undo/redo plus keyboard shortcuts (F1 for the list)
...

### **Fixes**

  • Compat: Opening a stage in the editor no longer crashes the client under Sinytra Connector. A Fabric mixin on a vanilla trade recipe can fail the first time the recipe runs, and the trade scan did not catch that kind of error. That recipe is now skipped.
  • Stages: Stage files saved by hand in another encoding than UTF-8 (e.g. Windows-1251) no longer show their names as garbled characters. They are read in the system encoding, and a warning in the log asks you to save them again as UTF-8.

Stages can now stand in for each other, block, hide or revoke one another and lock themselves again. Items can be locked by their enchantments and potion effects, locked things can wear a disguise, and the addon API got what it was missing.

### **New**

  • Stages: "Interchangeable" switch. When several stages lock the same thing, the ones with the switch on stand in for each other, so any one of them is enough. Works for every kind of lock. Tooltip and Jade list them under "One of:" (groupInterchangeableStages in visuals and jade turns that off).
  • Stages: Logic blocks, behind the new "Logic" button. Conditions look at other stages, and there are four kinds:
  • "Blocked while ...": the stage cannot be unlocked while the condition holds. Commands and the editor still go through.
  • "Hidden while ...": the stage shows as "???" (or not at all) in the graph, JEI/EMI and messages, but can still be unlocked.
  • "Cheaper/costlier while ...": scales research time, item and XP costs in percent.
  • "Revoke when ...": takes the stage away the moment the condition becomes true, offline players at their next login.
  • Stages: New mode "While" keeps a stage open only while its state triggers hold (biome, dimension, effect, weather, ...). Default and Auto stages can get lock triggers of their own and lock themselves again.
  • Individual stages: "Share with team" for FTB Teams. When one player in a party unlocks the stage, the rest of the party gets it too. Options in team_mods in gameplay.toml; other team mods can hook in through RegisterTeamProvidersEvent.
  • Locks: Enchantments and potion effects as new categories. Locks books, gear, potions and tipped arrows carrying them, and the enchanting table, anvil and brewing stand refuse them. The brewing stand only checks global stages.
  • Locks: Disguises. A locked item or block can look like something else until it is unlocked, like Revelationary but built in: emerald ore can show as stone in the world and in inventories ([#125](https://github.com/Flix100000/History-Stages/issues/125)).
  • Locks: Item, fluid and interaction actions and SpawnControl can be fixed for a whole stage in its settings (right click fixes a value).
  • Locks: blockExplosions switch for biome and structure locks, on by default.
  • Locks: Locked ammo is skipped; a bow takes the next arrow it may use.
  • Blocks: Scroll shelves, a chiseled bookshelf for research scrolls in eleven wood types, with hopper, comparator and Jade support.
  • Editor: "Recipes using this item" in the right-click menu adds every recipe that takes an item as ingredient ([#132](https://github.com/Flix100000/History-Stages/issues/132)).
  • Graph: Unplaced stages live in the sidebar, several stages can be selected and moved at once, the auto layout is roomier, and there is undo/redo plus keyboard shortcuts (F1 for the list).
  • Graph: Style preset
...

Stages can now stand in for each other, block, hide or revoke one another and lock themselves again. Items can be locked by their enchantments and potion effects, locked things can wear a disguise, and the addon API got what it was missing.

### **New**

  • Stages: "Interchangeable" switch. When several stages lock the same thing, the ones with the switch on stand in for each other, so any one of them is enough. Works for every kind of lock. Tooltip and Jade list them under "One of:" (groupInterchangeableStages in visuals and jade turns that off).
  • Stages: Logic blocks, behind the new "Logic" button. Conditions look at other stages, and there are four kinds:
  • "Blocked while ...": the stage cannot be unlocked while the condition holds. Commands and the editor still go through.
  • "Hidden while ...": the stage shows as "???" (or not at all) in the graph, JEI/EMI and messages, but can still be unlocked.
  • "Cheaper/costlier while ...": scales research time, item and XP costs in percent.
  • "Revoke when ...": takes the stage away the moment the condition becomes true, offline players at their next login.
  • Stages: New mode "While" keeps a stage open only while its state triggers hold (biome, dimension, effect, weather, ...). Default and Auto stages can get lock triggers of their own and lock themselves again.
  • Individual stages: "Share with team" for FTB Teams. When one player in a party unlocks the stage, the rest of the party gets it too. Options in team_mods in gameplay.toml; other team mods can hook in through RegisterTeamProvidersEvent.
  • Locks: Enchantments and potion effects as new categories. Locks books, gear, potions and tipped arrows carrying them, and the enchanting table, anvil and brewing stand refuse them. The brewing stand only checks global stages.
  • Locks: Disguises. A locked item or block can look like something else until it is unlocked, like Revelationary but built in: emerald ore can show as stone in the world and in inventories ([#125](https://github.com/Flix100000/History-Stages/issues/125)).
  • Locks: Item, fluid and interaction actions and SpawnControl can be fixed for a whole stage in its settings (right click fixes a value).
  • Locks: blockExplosions switch for biome and structure locks, on by default.
  • Locks: Locked ammo is skipped; a bow takes the next arrow it may use.
  • Blocks: Scroll shelves, a chiseled bookshelf for research scrolls in eleven wood types, with hopper, comparator and Jade support.
  • Editor: "Recipes using this item" in the right-click menu adds every recipe that takes an item as ingredient ([#132](https://github.com/Flix100000/History-Stages/issues/132)).
  • Graph: Unplaced stages live in the sidebar, several stages can be selected and moved at once, the auto layout is roomier, and there is undo/redo plus keyboard shortcuts (F1 for the list).
  • Graph: Style preset
...

### **New**

  • Translations: Simplified Chinese (zh_cn).
  • Compat: EMI can hide locked items and recipes the same way JEI does. It hides exactly what the lock overlay marks, so a recipe locked by its id or by a gated fluid disappears as well, and JER's drop and loot pages are left alone ([#83](https://github.com/Flix100000/History-Stages/issues/83)).

### **Fixes**

  • Compat: TerraFirmaCraft no longer crashes when it looks up an alloy. TFC asks for that recipe without a level, and the recipe gate read the side off the level and threw, for every alloy, gated or not.
  • Locks: A gated fluid can no longer be poured into the world or tipped into a cauldron.
  • Locks: Placing a gated block now says why it will not go down with specific settings, instead of doing nothing and looking like the game is broken.

### **Other**


A small release that ships a Simplified Chinese translation and the fixes collected since 6.0.1. NeoForge only for now; Forge and Fabric follow.

### **New**

  • Translations: Simplified Chinese (zh_cn).
  • Compat: EMI can hide locked items and recipes the same way JEI does. It hides exactly what the lock overlay marks, so a recipe locked by its id or by a gated fluid disappears as well, and JER's drop and loot pages are left alone ([#83](https://github.com/Flix100000/History-Stages/issues/83)).

### **Fixes**

  • Compat: TerraFirmaCraft no longer crashes when it looks up an alloy. TFC asks for that recipe without a level, and the recipe gate read the side off the level and threw, for every alloy, gated or not.
  • Locks: A gated fluid can no longer be poured into the world or tipped into a cauldron.
  • Locks: Placing a gated block now says why it will not go down with specific settings, instead of doing nothing and looking like the game is broken.
  • Zones: The marker item marks a corner anywhere. Inside a locked zone or on a locked block, the click was refused before the marker ever saw it, which is exactly where an author tends to stand.
  • Pedestal: The pay-XP button is pressed in when the player's level is too low, and the tooltip says how much is missing. It used to look clickable and silently swallow every click, most visibly in creative at level 0.
  • GUI: The locked-stage silhouette on the open scroll shows again, and the pedestal's progress wash is drawn over the item instead of under it.

### **Other**


One of the biggest updates for History Stages so far, and on Fabric it arrives in one go. The last Fabric build was 5.2.1 in May, so this carries 5.3, 5.4, 5.5 and 5.6 along with 6.0.0 and 6.0.1: five new lock categories, a stage map players can open themselves, an addon surface other mods can build on, and a long list of fixes. The few places where Fabric does something differently are listed under Other.

### **Before you update**

Most of this migrates on its own, but a few things behave differently than they did in 5.2. Worth reading before 6.0.0 goes on an existing pack.

  • Server and client both have to be on 6.0.0. All 48 packets were rebuilt on Fabric's own networking and the stage sync is gzipped, so a 5.2 client and a 6.0.0 server no longer understand each other.
  • Settings moved into historystages/settings/, split into visual and gameplay by what a setting does rather than by which file it happened to load from. Every pre-6.0 config path is mapped to where it lives now and the values are carried across on first load, so nothing is lost. The old files stop being read after that.
  • A spawn lock no longer implies an attack lock. Locking a creature's spawns used to make it unhittable as well, and that rule does not survive the new conditions β€” "zombies only at night" would have handed out invulnerable night zombies. A creature that should also be unhittable belongs in the attack list from now on. This change is a silent one: nothing errors, the mob simply becomes attackable.
  • trade is a new item action, and old files count it as locked. Stage files store the complement of an action list, so an action that no existing file mentions is gated in every one of them. An item somebody narrowed to "use only" gates trading as well from this version on.
  • Four commands are gone: /history global info, /history global list, /history individual info and /history individual list. They printed a stale text dump of the stage definition that the editor has long since shown better. /history temporary global info and /history temporary individual info stay, because they show runtime state nothing else can. Quest rewards that call the removed ones will hit a syntax error.
  • Locked recipes are hidden from the recipe book by default. They used to sit in there looking craftable. The new switch is recipe_book.hideLockedRecipesInBook.
  • Worlds from before 6.0.0 do not know when a stage was unlocked. The new map background needs that timestamp, so in an older world the deepest stage in the tree decides it once, until something unlocks again.
  • Zones ship as BETA. The category works, but a zone writes more into a stage file than any other entry and that format may still move. It is marked [BETA] in the editor for the same reason.

### **New**

  • Locks: Zones [BETA] β€” draw an area out of cuboids, spheres and c
...

One of the biggest updates for History Stages so far, now on 1.20.1: three new lock categories, a real script integration for KubeJS and CraftTweaker, an addon surface other mods can build on, and a long list of fixes. It carries everything from 6.0.0 and 6.0.1 on 1.21.1. The few places where 1.20.1 does something differently are listed under Other.

### **Before you update**

Most of this migrates on its own, but a few things behave differently than they did in 5.x. Worth reading before 6.0.0 goes on an existing pack.

  • Server and client both have to be on 6.0.0. The stage sync is gzipped now and the network protocol version moved to 11, so a 6.0.0 client on a 5.x server gets the incompatible-mod screen instead of connecting. That is intended: the old format would have dropped the player mid-login with nothing in the log naming a cause.
  • Settings moved into historystages/settings/, split into visual and gameplay by what a setting does rather than by which file it happened to load from. Every pre-6.0 config path is mapped to where it lives now, including the structure border and overlay settings the 5.x Forge client file kept under [visuals], and the values are carried across on first load, so nothing is lost. The old files stop being read after that.
  • A spawn lock no longer implies an attack lock. Locking a creature's spawns used to make it unhittable as well, and that rule does not survive the new conditions β€” "zombies only at night" would have handed out invulnerable night zombies. A creature that should also be unhittable belongs in the attack list from now on. This change is a silent one: nothing errors, the mob simply becomes attackable.
  • trade is a new item action, and old files count it as locked. Stage files store the complement of an action list, so an action that no existing file mentions is gated in every one of them. An item somebody narrowed to "use only" gates trading as well from this version on.

### **New**

  • Locks: Zones [BETA] β€” draw an area out of cuboids, spheres and cylinders, several shapes per zone, and hang it on a stage. A locked zone can push players back with a client-side barrier, show a force-field wall up close and an outline from a distance, and tint the screen from the inside.
  • Locks: Trades β€” hide single merchant offers behind a stage, per player, back the moment the stage unlocks. Three ways to say what is gated that do not overlap: a single offer, a profession (optionally only on some of its levels), or a merchant level. A locked offer is absent from the list rather than crossed out, so nobody loses a profession or stops levelling.
  • Locks: Fluids β€” gate a fluid through whatever carries it, vanilla buckets, modded buckets and tank items alike, without listing a single item id. Also covers the recipes a fluid produces or is consumed by, through an ingredient action that only
...

### **Fixes**

  • Compat: Lithium no longer crashes the game at startup. The zone barrier's wall hung on a call inside Minecraft's movement code that Lithium also claims, and a call belongs to one mod only. It adds itself to the collision list instead, which is shared ([#126](https://github.com/Flix100000/History-Stages/issues/126)).
  • Compat: Polymorph no longer crashes the game at startup. It replaces the same recipe lookup in the crafting menu that we replaced, so one of the two was dropped. The three recipe stations wrap the whole method now, and Polymorph's alternatives obey stage locks instead of going around them ([#127](https://github.com/Flix100000/History-Stages/issues/127)).
  • Compat: Sophisticated Backpacks no longer keeps a world from loading. We asked every recipe result what fluid it was carrying while the world was still opening, before Sophisticated Backpacks could read its own config to answer. That walk has moved to after the world is up, and only runs when a stage gates a fluid ([#130](https://github.com/Flix100000/History-Stages/issues/130)).
  • Locks: A recipe is asked what it makes against the world's real registries instead of an empty set. A modded recipe that builds its result from the registries used to answer with nothing and stayed unlocked. Also covers the modded recipes JEI was skipping for the same reason.
  • Trades: Gating one offer no longer cancels Minecraft's own method for opening the trade window, which skipped every other mod hooked into it. Only the list sent to the player is swapped. A merchant with nothing left now sends an empty list rather than none at all.
  • Trades: The merchant scan drops a trade that needs more than 50ms to name an offer and stops after two seconds. Vanilla's treasure map was already left out; a mod's own map trade walked back into the same stall.
  • Fluids: Right-clicking a block asks the held item about its contents through the same guarded lookup as everywhere else, so a mod whose answer fails cannot take the game down.

One of the biggest updates for History Stages so far: three new lock categories, a real script integration for KubeJS and CraftTweaker, an addon surface other mods can build on, and a long list of fixes.

### **Before you update**

Most of this migrates on its own, but a few things behave differently than they did in 5.x. Worth reading before 6.0.0 goes on an existing pack.

  • Server and client both have to be on 6.0.0. The stage sync is gzipped now and the payload version moved to 2, so a 6.0.0 client on a 5.x server gets the incompatible-mod screen instead of connecting. That is intended: the old format would have dropped the player mid-login with nothing in the log naming a cause.
  • Settings moved into historystages/settings/, split into visual and gameplay by what a setting does rather than by which file it happened to load from. Every pre-6.0 config path is mapped to where it lives now and the values are carried across on first load, so nothing is lost. The old files stop being read after that.
  • A spawn lock no longer implies an attack lock. Locking a creature's spawns used to make it unhittable as well, and that rule does not survive the new conditions β€” "zombies only at night" would have handed out invulnerable night zombies. A creature that should also be unhittable belongs in the attack list from now on. This change is a silent one: nothing errors, the mob simply becomes attackable.
  • trade is a new item action, and old files count it as locked. Stage files store the complement of an action list, so an action that no existing file mentions is gated in every one of them. An item somebody narrowed to "use only" gates trading as well from this version on.

### **New**

  • Locks: Zones [BETA] β€” draw an area out of cuboids, spheres and cylinders, several shapes per zone, and hang it on a stage. A locked zone can push players back with a client-side barrier, show a force-field wall up close and an outline from a distance, and tint the screen from the inside.
  • Locks: Trades β€” hide single merchant offers behind a stage, per player, back the moment the stage unlocks. Three ways to say what is gated that do not overlap: a single offer, a profession (optionally only on some of its levels), or a merchant level. A locked offer is absent from the list rather than crossed out, so nobody loses a profession or stops levelling.
  • Locks: Fluids β€” gate a fluid through whatever carries it, vanilla buckets, modded buckets and tank items alike, without listing a single item id. Also covers the recipes a fluid produces or is consumed by, through an ingredient action that only this category has.
  • Spawn: A spawn-lock entry is a full rule now. It carries a phase, eight optional conditions (dimension, biome, sky, height, time of day, light, weather, moon phase) and biomes the creature additionally spawns in, all edited in one dialog
...
Full Changelog: https://github.com/Flix100000/History-Stages/compare/5.6.1-1.20.1...5.6.2-1.20.1

### **Fixes**

  • Locks: Locking a recipe no longer takes other recipes with the same ingredients down with it. Putting a scripted 2x2 red sand recipe on a stage also stopped red sandstone from being craftable, and which of the two it hit came down to load order, so it could differ from world to world.
  • Compat: **Spell Engine** and **Better Combat** no longer keep the game from starting. Both carried a minimum version that never existed on 1.20.1, a leftover from the port. Nothing here compiles against either one, so the bound protected nothing and only kept people out.
Full Changelog: https://github.com/Flix100000/History-Stages/compare/5.6.0-1.20.1...5.6.1-1.20.1

### **Fixes**

  • Locks: Locked recipes could still be crafted by machines that read the whole recipe list instead of asking for a single recipe β€” Create's mixing and compacting were the visible case. Both ways of reaching a recipe are gated now.
  • Locks: Locking or unlocking a stage now refreshes recipes on every path, and the full datapack reload only runs when the set of hidden recipes really changed.

### **Other**

  • License: Technical ports to other Minecraft versions or mod loaders are now explicitly allowed under conditions. See Section 3 of LICENSE.txt.

### **New**

  • Stages: Added folder support for stage JSON files, with a matching organize mode in the editor for moving stages and folders around.
  • Graph: Rebuilt the dependency graph as a hand-authorable stage map and opened it to players in-game, with a reworked sidebar, a detail window instead of the old panel, a GraphViewFilter visibility ladder, a strict progressive mode with per-option tooltips, per-stage node style overrides editable per lock state, and a screen title that can be written as rich text.
  • Config: Added a Graph tab to the config editor for editing graph.toml directly.
  • Locks: Added biome and interaction lock categories, the latter with per-action and held-item filters. Locked structures are now kept out of world generation, and structures can be capped on how often they generate.
  • Stages: Added a lose-on-death setting and per-player unlocking of individual stages from the overview.
  • Editor: Added a classic HSV colour picker with fixed swatches and hover animation, a credits dialog with wiki/Discord/issue links, a display-name prompt when creating a stage, select-all/deselect-all and multiselect for searchable lists, and a time-based animation system with general UI polish. Save now stays on the current screen and persists the whole stage.
  • Pedestal/Scroll: Reworked the research screen with scroll completion modes, a readable open scroll document, and the ability to read open scrolls from a lectern. The research scroll tooltip is now configurable.

### **Fixes**

  • Pedestal: The XP deposit button now shows why it does nothing when you cannot pay the level cost, instead of silently swallowing every click.
  • Pedestal: Dependency status is sent to the requesting player only; nearby clients no longer cache someone else's progress.
  • Pedestal: The wash over a running research scroll now draws over the item icon instead of behind it.
  • Editor: Stopped large stages from crashing the save, made searchable lists usable at a few thousand rows, and fixed config/item pickers leaking through their overlay. The editor now refreshes when the server pushes config, dependency/temporary badges show correctly on individual rows again, and the unsaved-changes warning actually discards on confirm.
  • Config: Synced every common config value to clients.
  • Locks: Item locks are now looked up through a stage index for better performance. The recipe lock overlay shows for individual stages, hidden_display applies to individual stages, and show_lock_hints works independently of tooltip mode.
  • Loot: Honored individual stages when stripping loot.

### **Fixes**

  • Network: Fixed dedicated servers refusing to start with "Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER". The lectern scroll packet added in 5.6.0 referenced a client-only screen class, which broke mod loading while payload handlers were registered.
## What's Changed


### **New**

  • Stages: Added folder support for stage JSON files, with a matching organize mode in the editor for moving stages and folders around.
  • Graph: Rebuilt the dependency graph as a hand-authorable stage map and opened it to players in-game, with a reworked sidebar, a detail window instead of the old panel, a GraphViewFilter visibility ladder, a strict progressive mode with per-option tooltips, and per-stage node style overrides editable per lock state.
  • Config: Added a Graph tab to the config editor for editing graph.toml directly.
  • Locks: Added biome and interaction lock categories, the latter with per-action and held-item filters. Locked structures are now kept out of world generation, and structures can be capped on how often they generate.
  • Stages: Added a lose-on-death setting and per-player unlocking of individual stages from the overview.
  • Editor: Added a classic HSV colour picker with fixed swatches and hover animation, a credits dialog with wiki/Discord/issue links, a display-name prompt when creating a stage, select-all/deselect-all and multiselect for searchable lists, and a time-based animation system with general UI polish. Save now stays on the current screen and persists the whole stage.
  • Pedestal/Scroll: Reworked the research screen with scroll completion modes, a readable open scroll document, and the ability to read open scrolls from a lectern. The research scroll tooltip is now configurable.

### **Fixes**

  • Editor: Stopped large stages from crashing the save, made searchable lists usable at a few thousand rows, and fixed config/item pickers leaking through their overlay. The editor now refreshes when the server pushes config, and dependency/temporary badges show correctly on individual rows again.
  • Config: Synced every common config value to clients.
  • Locks: Item locks are now looked up through a stage index for better performance. The recipe lock overlay shows for individual stages, hidden_display applies to individual stages, and show_lock_hints works independently of tooltip mode.
  • Loot: Honored individual stages when stripping loot.
  • Logger: Reports lose_on_death in the diagnostic stage dump.
History Stages Icon
Download History Stages
Select game version
Select platform