Pack Stages

Quick rating

Community listing page, reviews may not be monitored by the author.

Pack Stages

No reviews yet

Lock crafting, item use and workstations per player until a stage is granted, all defined in datapack JSON.

Mod Loaders
Minecraft

About

Description

Give each player stages, and decide in datapack JSON what a player without a stage can't do: make certain items, use certain items, or open certain workstations.

It is a tool for pack and server makers who want progression — a profession, a tech tier, an unlock tree — without writing code. Stages are granted with a command, so a quest reward, an advancement function or any mod that can run commands can hand them out.

What a stage can lock

  • craft — the item can't be taken out of an output slot: crafting table and inventory grid, furnaces, smithing table, stonecutter, loom, and modded workstations whose output slot refuses inserted items.
  • use — the item can't be right-clicked, placed or used on entities.
  • items — both craft and use.
  • blocks — right-clicking the block does nothing, so its screen doesn't open.
  • menus — screens of these types close as soon as they open, however they were opened.
  • JEI (optional) — locked items stay listed with an "Unlocks at" line in the tooltip ("jei": "show", the default), or are hidden until unlocked ("hide").

Every list accepts item ids, tags (#c:ingots), all items of a mod (@modid) and * wildcards. Ids of mods that aren't installed are ignored, so one data set can serve several setups. A refused player always sees why on the action bar, for example "You can't use the Furnace yet. Unlocks at: Smelting".

Defining a stage

One file per stage, data/<namespace>/pack_stages/stages/<path>.json — stages/smith/apprentice.json is the stage smith.apprentice:

{
  "display": "Smelting",
  "blocks": ["minecraft:furnace", "minecraft:blast_furnace"],
  "craft": ["minecraft:furnace"],
  "jei": "show"
}

Commands

/pack_stages add|remove <players> <stage>, clear, list, has (returns 1 or 0, for execute store result), and stages (what the loaded data defines). Permission level 2. Stages are saved with the player and kept on death.

Limits

  • Machines that work without a player taking the result — hoppers pulling from a furnace, the Crafter, automation mods — are not gated. Lock the machine block itself if that matters.
  • Workstations whose output slot accepts inserted items need blocks or menus to gate the whole station instead of single items.
  • Needed on both the server and the client.

Support my mods on Patreon Follow @kuronami333 on X Watch KURONAMI on YouTube

Need a custom mod?

Paid commissions for videos, streams and servers. Send me your idea: [email protected]

All Rights Reserved. Free to put in any modpack, on any platform, monetised or not - no permission needed, no credit required. Source is published so you can read exactly what it does. Bugs and questions: comment on the CurseForge page, or DM @kuronami333 on X. Source code: https://github.com/KURONAMI333/pack-stages