Skip to main content
Version: 5.5.x

Stage Examples

This page provides various examples of stage configurations in JSON format to demonstrate the capabilities of History Stages. These examples can be used as templates for creating custom progression systems.

Basic Item and Recipe Locking

This example demonstrates a simple stage that locks basic iron-related items and recipes.

{
"display_name": "Iron Age",
"research_time": 60,
"items": [
"minecraft:iron_ingot",
"minecraft:iron_block",
"minecraft:raw_iron"
],
"recipes": [
"minecraft:iron_pickaxe",
"minecraft:iron_sword",
"minecraft:iron_chestplate"
]
}

Tag and Mod Locking

This example shows how to lock entire categories of items using tags and how to lock all items from a specific mod, with an exception.

{
"display_name": "Industrial Era",
"research_time": 120,
"tags": [
"forge:ores/copper",
"forge:ingots/copper"
],
"mods": [
"create"
],
"mod_exceptions": [
"create:andesite_alloy"
]
}

Dimension and Entity Locking

This example illustrates how to restrict access to a dimension and control entity interactions.

{
"display_name": "Nether Exploration",
"research_time": 180,
"dimensions": [
"minecraft:the_nether"
],
"entities": {
"attacklock": [
"minecraft:blaze",
"minecraft:wither_skeleton"
],
"spawnlock": [
"minecraft:ghast"
]
}
}

Advanced NBT Locking

This example demonstrates how to lock items based on specific NBT data, such as an enchanted book with a specific enchantment level.

{
"display_name": "Advanced Magic",
"research_time": 240,
"items": [
{
"id": "minecraft:enchanted_book",
"nbt": {
"StoredEnchantments": [
{
"id": "minecraft:mending",
"lvl": 1
}
]
}
}
]
}

Per-Entry Action Locking

This example demonstrates how unlock_actions can restrict only specific interactions per entry, leaving the others available even while the stage is locked. Here, players can pick up and equip iron swords but cannot attack with them, while iron pickaxes are completely locked.

{
"display_name": "Combat Training",
"research_time": 90,
"items": [
"minecraft:iron_pickaxe",
{
"id": "minecraft:iron_sword",
"unlock_actions": ["pickup", "equip"]
}
],
"tags": [
{
"id": "forge:ingots/iron",
"unlock_actions": ["pickup"]
}
]
}

Per-Source Spawn Locking

This example demonstrates how spawnlock entries can restrict only specific spawn sources per entity. Wither skeletons cannot spawn naturally or from structures (so Nether fortresses produce none), but spawners and spawn eggs still work — useful for letting modpack creators distribute the mob through curated encounters while the stage remains locked.

{
"display_name": "Nether Hunting",
"research_time": 150,
"entities": {
"spawnlock": [
"minecraft:ghast",
{
"id": "minecraft:wither_skeleton",
"unlock_sources": ["spawner", "spawn_egg"]
}
]
}
}

Comprehensive Stage Example

This example combines multiple locking mechanisms into a single, complex stage definition.

{
"display_name": "The End Game",
"research_time": 300,
"items": [
"minecraft:ender_pearl",
"minecraft:ender_eye"
],
"tags": [
"forge:end_stones"
],
"recipes": [
"minecraft:end_crystal"
],
"dimensions": [
"minecraft:the_end"
],
"structures": [
"minecraft:end_city"
],
"entities": {
"attacklock": [
"minecraft:enderman"
],
"spawnlock": [
"minecraft:ender_dragon"
]
},
"dependencies": [
{
"type": "xp_level",
"level": 30
},
{
"type": "entity_kills",
"entity": "minecraft:enderman",
"count": 50
}
]
}
Something wrong or missing here? Ask on Discord · Open an issue