Create’s recipe system is entirely data-driven: every machine recipe is a JSON file loaded from a datapack. Addon mods can add recipes for Create’s existing machines or introduce entirely new processing recipe types by extending Create’s data-generation helpers. There is no need to touch Java code at runtime — you generate the JSON files during your mod’s data-gen phase, and the game loads them like any other datapack.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Creators-of-Create/Create/llms.txt
Use this file to discover all available pages before exploring further.
BaseRecipeProvider
com.simibubi.create.api.data.recipe.BaseRecipeProvider extends NeoForge’s RecipeProvider with a lightweight registration helper and a modid namespace. Use this base class when your custom recipe type is not a processing recipe (i.e., it doesn’t use ProcessingRecipe).
Minimal example
StandardProcessingRecipeGen
com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen<R> is the base class for all of Create’s machine-processing recipe generators (compacting, crushing, mixing, etc.). Extend it when your recipe type extends StandardProcessingRecipe.
getRecipeType() in your subclass to return the AllRecipeTypes entry that corresponds to your recipe type. Then use the create(...) factory methods inherited from ProcessingRecipeGen to build individual recipes.
CompactingRecipeGen
com.simibubi.create.api.data.recipe.CompactingRecipeGen is the built-in generator for Mechanical Press + Basin compacting recipes. It is a thin subclass of StandardProcessingRecipeGen and serves as a reference implementation:
CrushingRecipeGen, MillingRecipeGen, PressingRecipeGen, MixingRecipeGen, DeployingRecipeGen, CuttingRecipeGen, WashingRecipeGen, HauntingRecipeGen, SequencedAssemblyRecipeGen, FillingRecipeGen, EmptyingRecipeGen, and more.
Recipe Types in Create
Crushing
Machine: Crushing Wheels
Recipe type:
Converts blocks and ores into dusts or other items, optionally with chance-based secondary outputs.
Recipe type:
create:crushingConverts blocks and ores into dusts or other items, optionally with chance-based secondary outputs.
Milling
Machine: Millstone
Recipe type:
Grinds items into powders. Slower than Crushing Wheels but single-block.
Recipe type:
create:millingGrinds items into powders. Slower than Crushing Wheels but single-block.
Pressing
Machine: Mechanical Press
Recipe type:
Presses items placed below the press head into new items.
Recipe type:
create:pressingPresses items placed below the press head into new items.
Compacting
Machine: Mechanical Press + Basin
Recipe type:
Compacts items in a Basin. Supports fluid inputs and outputs.
Recipe type:
create:compactingCompacts items in a Basin. Supports fluid inputs and outputs.
Mixing
Machine: Mechanical Mixer + Basin
Recipe type:
Mixes multiple item and fluid inputs in a Basin into outputs.
Recipe type:
create:mixingMixes multiple item and fluid inputs in a Basin into outputs.
Deploying
Machine: Deployer
Recipe type:
Uses a Deployer to apply an item to another item or block, crafting a result.
Recipe type:
create:deployingUses a Deployer to apply an item to another item or block, crafting a result.
Cutting
Machine: Mechanical Saw
Recipe type:
Cuts items or blocks. Commonly used for planks → slabs and similar.
Recipe type:
create:cuttingCuts items or blocks. Commonly used for planks → slabs and similar.
Splashing
Machine: Encased Fan + Water
Recipe type:
Washes items in a water-backed fan air stream.
Recipe type:
create:splashingWashes items in a water-backed fan air stream.
Haunting
Machine: Encased Fan + Soul Fire
Recipe type:
Transforms items in a soul-fire-backed fan air stream.
Recipe type:
create:hauntingTransforms items in a soul-fire-backed fan air stream.
Sequenced Assembly
Machine: Multiple (configurable)
Recipe type:
Multi-step processing pipeline; each step can use a different machine.
Recipe type:
create:sequenced_assemblyMulti-step processing pipeline; each step can use a different machine.
Registering the Data Provider
Add your recipe provider to NeoForge’s data-gen pipeline in yourGatherDataEvent handler:
Recipe JSON files are written to
data/<modid>/recipes/ inside your generated resources. Create registers its own recipe types during mod initialisation, so they are available to data-gen without any extra setup on your part.For fan processing recipes (
create:splashing, create:haunting), use the dedicated WashingRecipeGen and HauntingRecipeGen base classes. If you add a custom fan processing type with its own recipe type, follow the same pattern but target your own AllRecipeTypes entry.