Skip to main content
Version: 5.4.x

Research System

History Stages implements an in-world research system for stage progression, designed to integrate seamlessly into modpacks.

The Research Pedestal

The Research Pedestal functions as the primary interaction point for stage progression:

  • Activation: Research is initiated by placing a Research Scroll into the pedestal.
  • Visual Indicators: While active, the pedestal emits light (light level 13) and displays research progress within its GUI.
  • Progress Persistence: Research progress is stored directly within the scroll item's NBT data. This allows players to interrupt and resume research without loss of progress.
  • Dependencies: When a stage requires prerequisites, the pedestal GUI dynamically expands to reveal a dependency side panel. This panel displays a comprehensive checklist of all required conditions. For deposit-based dependencies, players can directly insert items or experience points into the pedestal to fulfill the requirements incrementally.

Pedestal Tiers

The Research Pedestal is available in four tiers, allowing modpack creators to gate higher-level research behind more elaborate setups:

TierBlockNotes
Tier Ihistorystages:research_pedestalThe basic single-block pedestal.
Tier IIhistorystages:research_pedestal_tier2Enhanced single-block variant.
Tier IIIhistorystages:multiblock_research_pedestal_tier3Multi-block structure centered on the pedestal block.
Tier IVhistorystages:multiblock_research_pedestal_tier4Larger multi-block structure for end-game research.

Each tier is its own block; placing a higher-tier pedestal does not require dismantling the previous one. The active pedestal's tier is used for both stage gating and booster matching (see below).

Stage Tier Gating

A stage can be restricted to research at pedestals of a certain tier via two optional fields in its JSON file:

FieldTypeDescription
min_pedestal_tierInteger (1-4)Minimum pedestal tier required to research this stage. Default 1 (works on every tier).
pedestal_tier_modeStringEither "min" (this tier and higher) or "exact" (only this exact tier). Default "min".

If a scroll is placed in a pedestal that does not match the stage's tier requirement, the pedestal GUI displays a tier-mismatch warning and the research will not start.

Research Boosters

Booster blocks placed directly underneath an active Research Pedestal modify the research running on top:

  • Speed reduction shortens the research time (capped at 90%, i.e. research runs up to 10x faster).
  • Cost reduction reduces the count of any item-deposit dependencies. The reduction is locked into the scroll on the first deposit, so it cannot be exploited by swapping boosters mid-research.

Boosters are configured in historystages-common.toml under the researchBoosters list. Each entry is a comma-separated string:

"block_id, speed_percent, cost_percent, tier, mode"
  • speed_percent / cost_percent: 0-90.
  • tier: minimum pedestal tier the booster works under (1-4).
  • mode: min (this tier and higher) or exact (only this tier).

Booster recipes registered with JEI/EMI show players which blocks are eligible and what they do.

Example:

researchBoosters = [
"minecraft:redstone_block, 25, 0, 1, min",
"minecraft:diamond_block, 50, 25, 2, min",
"minecraft:beacon, 75, 50, 4, exact"
]

On Tier I and Tier II pedestals only the single block directly underneath is checked. Tier III and Tier IV pedestals are multi-block structures, so the mod scans both positions underneath them (the foot block and the head block) and applies only the strongest matching booster — speed reduction wins, with cost reduction as the tie-breaker, and the foot block wins on a complete tie. Boosters whose tier / mode does not match the current pedestal tier are ignored entirely.

Research Scrolls

Research Scrolls are key items for unlocking stages. Different types of scrolls facilitate various progression designs:

Scroll TypeDescription
Stage ScrollLinked to a specific stage ID (e.g., "bronze_age"). Completing research with this scroll unlocks the corresponding stage.
Individual ScrollBound to a specific player via UUID. Only the designated owner can use this scroll for research, enabling personalized progression paths. Individual scrolls show the owner's name in the tooltip and pedestal GUI. Locked individual scroll slots are grayed out for other players.
Creative ScrollA special scroll that, when researched, instantly unlocks all available stages. This is intended for testing or creative mode use.

Scroll Acquisition

History Stages does not provide default crafting recipes for the Research Pedestal or Research Scrolls. Modpack creators are responsible for defining how these items are obtained within their modpack's progression system. Common methods include:

  • FTB Quests: Scrolls can be distributed as rewards for completing questlines.
  • Loot Tables: Scrolls can be added as drops from mobs or as treasure in structures.
  • Custom Recipes: Scripting mods such as KubeJS or CraftTweaker, or datapacks, can be used to create custom crafting recipes. See the Recipe Examples page for copy-paste templates.
  • Admin Commands: For administrative purposes or testing, scrolls can be given to players using the command: /give @s historystages:research_scroll{StageResearch:"your_stage_id"} (Replace "your_stage_id" with the actual ID of the stage to be linked to the scroll, e.g., "bronze_age").
Something wrong or missing here? Ask on Discord · Open an issue