CurseForge · Minecraft mod
SDM Recipe Machine Stages
The ultimate progression tool for tech-based modpacks. Lock machine recipes behind stages with seamless KubeJS and CraftTweaker integration.
Quick answer
Which SDM Recipe Machine Stages release should I use?
SDM Recipe Machine Stages recipemachinestage-1.20.1-2.4.2.jar targets 1.20.1 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. 1 required mod needs a matching file.
Where it goes
Is SDM Recipe Machine Stages required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does SDM Recipe Machine Stages recipemachinestage-1.20.1-2.4.2.jar need?
recipemachinestage-1.20.1-2.4.2.jar. Change the file and its required mods may change too.
Install SDM Stages, project 268655 first, but 1 required mod has no matching file for this setup. Do not mix loader builds to force a match. 8 come through another mod in the chain.
8 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add SDM Recipe Machine Stages without breaking your instance.
Built for SDM Recipe Machine Stages recipemachinestage-1.20.1-2.4.2.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use recipemachinestage-1.20.1-2.4.2.jar. It targets 1.20.1 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
Install SDM Stages, project 268655 first, but 1 required mod has no matching file for this setup. Do not mix loader builds to force a match. 8 come through another mod in the chain.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside recipemachinestage-1.20.1-2.4.2.jar. It opens that exact file at the source.
About this project
What does SDM Recipe Machine Stages add?
Recipe Machine Stage
This mod provides the ability to block recipes for mechanisms, similar to how it is implemented in Recipe Stages for the workbench.
⚠️ Update for 1.21.1+: A new method
addRecipeByMachinehas been added, and the syntax for both KubeJS and CraftTweaker has been significantly updated! Please see the 1.21+ Documentation section below.
What mods are supported?
The list of supported mods can be found here: GitHub
How to use it?
Everything works very simply. You only need to install the dependencies: (CraftTweaker AND Game Stages) OR KubeJS OR AStages.
- AStages: See wiki to know how to use it
📖 Documentation for 1.21.1+ (New Syntax)
⚠️ Important: Registration order matters! If a recipe is already restricted individually (via
addRecipe), subsequent bulk restrictions (addRecipeByModoraddRecipeByMachine) will ignore it. This allows you to create exceptions (e.g., locking a specific recipe to stage "A", but locking the rest of the machine to stage "B"). Specific recipes must be declared before bulk ones!
KubeJS (1.21+)
// kubejs/server_scripts/rms_example.js
RMSEvents.register(event => {
// --- Individual Restrictions ---
// event.addRecipe(recipeType: string, recipe_id: string, stage: string)
event.addRecipe('create:milling', 'create:milling/fern', 'two')
// event.addRecipes(recipeType: string, recipe_ids: string[], stage: string)
event.addRecipes('minecraft:smelting', ['minecraft:stone', 'minecraft:iron_ingot'], 'one')
// --- Bulk Restrictions ---
// event.addRecipeByMod(recipeType: string, modId: string, stage: string)
event.addRecipeByMod('minecraft:smelting', 'create', 'create')
// event.addRecipeByMods(recipeType: string, modIds: string[], stage: string)
event.addRecipeByMods('minecraft:smelting', ['create', 'minecraft'], 'one')
// --- NEW: Block entirely by machine ---
// event.addRecipeByMachine(recipeType: string, stage: string)
event.addRecipeByMachine('minecraft:smelting', 'one')
})
CraftTweaker (1.21+)
import mods.rms.RMS;
// Individual
RMS.addRecipe("minecraft:smelting", "minecraft:stone", "one");
RMS.addRecipe("minecraft:smelting", ["minecraft:stone", "minecraft:iron_ingot"], "one");
// Bulk
RMS.addRecipeByMod("minecraft:smelting", "minecraft", "one");
RMS.addRecipeByMod("minecraft:smelting", ["minecraft", "create"], "one");
// NEW: Block entirely by machine
RMS.addRecipeByMachine("minecraft:smelting", "one");
📖 Documentation for 1.20.1 and below (Legacy Syntax)
KubeJS (Server Scripts)
// kubejs/server_scripts/example.js
// RecipeMachineStage.addRecipe(String recipeType, String recipeID, String stage)
RecipeMachineStage.addRecipe('create:milling', 'create:milling/fern', 'two')
RecipeMachineStage.addRecipe("minecraft:smelting", "minecraft:stone", "one")
// RecipeMachineStage.addRecipes(String recipeType, String[] recipeIDs, String stage)
RecipeMachineStage.addRecipes("minecraft:smelting", ["minecraft:stone", "minecraft:iron_ingot"], "one")
CraftTweaker
import mods.recipemachinestage.RecipeMachineStage;
RecipeMachineStage.addRecipe(recipeType as string, recipeID as string, stage as string)
RecipeMachineStage.addRecipe(recipeType as string, recipeID as string[], stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as string, modId as string, stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as string, modId as string[], stage as string)
RecipeMachineStage.addRecipe(recipeType as RecypeType, recipeID as string, stage as string)
RecipeMachineStage.addRecipe(recipeType as RecypeType, recipeID as string[], stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as RecypeType, modId as string, stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as RecypeType, modId as string[], stage as string)
Example (1.20.1)
import mods.recipemachinestage.RecipeMachineStage;
RecipeMachineStage.addRecipe("minecraft:smelting", "minecraft:stone", "one");
RecipeMachineStage.addRecipe(<recypetype:minecraft:smelting>, "minecraft:stone", "one");
// Botania (Mana Infusion)
RecipeMachineStage.addRecipe("botania:mana_infusion", "botania:mana_infusion/mana_diamond", "two");
// Mekanism (Metallurgic Infusing)
RecipeMachineStage.addRecipe("mekanism:metallurgic_infusing", "mekanism:processing/iron/enriched", "three");
RecipeMachineStage.addRecipeByMod("minecraft:smelting", ["minecraft", "create"], "one");
Parameters Description
- recipeType - Recipe Type. In CraftTweaker (
<recypetype:minecraft:smelting>), you need to write it without the prefix:"minecraft:smelting". - recipeID - Recipe ID (
"minecraft:iron_ingot_from_blasting_iron_ore","mekanism:processing/iron/enriched", etc.). - stage - The stage required to unlock the recipe (
"one","two", etc.).
Links
Project description from CurseForge.
Pick your setup
SDM Recipe Machine Stages by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
3 loader builds1.20.1
2 loader buildsCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
SDM Recipe Machine Stages versions and loaders
recipemachinestage-1.20.1-2.4.2.jar
4 Nov 2026
sdmrecipemachinestages-fabric-1.2.3.jar
4 Nov 2026
sdmrecipemachinestages-neoforge-1.2.3.jar
4 Nov 2026
recipemachinestage-1.20.1-2.4.1.jar
16 Oct 2026
sdmrecipemachinestages-fabric-1.2.2.jar
14 Aug 2026
sdmrecipemachinestages-neoforge-1.2.2.jar
14 Aug 2026
sdmrecipemachinestages-neoforge-1.2.1.jar
9 Jul 2026
recipemachinestage-1.20.1-2.4.0.jar
23 Jun 2026
recipemachinestage-1.20.1-2.3.7.jar
14 Jun 2026
sdmrecipemachinestages-neoforge-1.2.0.jar
31 Mar 2026
sdmrecipemachinestages-fabric-1.2.0.jar
31 Mar 2026
sdmrecipemachinestages-fabric-1.1.1.jar
10 Mar 2026
Looking for an older file? The official CurseForge project page is in Resources.