Skip to content

Random Recipes

Seed-based crafting recipe randomizer — every world, a new puzzle.

Fabric
Loaders
Fabric
Downloads on Modrinth
142
Followers on Modrinth
1
version
1
Updated
June 14, 2026Jun 14
Published
in 2026
奇怪的铁斧配方 — 配方被打乱 · swipe

At a glance

Runs on Fabric
For Minecraft 1.20.1
Needed in the game and on the server
Latest version — 1.0.2 from June 14, 2026
License MIT — free
Where it's needed
In gamerequiredOn serverrequired

Needed both in the game and on the server

Game versions1.20.1

Random Recipes

Deterministic crafting recipe shuffler for Fabric — every world, a new puzzle.

Enter a world, and all crafting table recipes are shuffled using the world seed as the random source. Same seed = same recipes forever. Different seeds = completely different recipes. Perfect for SMP — every player in the same world sees identical shuffled recipes.

Features

  • Seed- deterministic shuffling — a single world seed controls all randomization, using Java Random for reproducibility
  • Three-layer recipe transformation:

    1. Fisher-Yates shuffle on ingredient positions (non-empty slots only)
    2. Ingredient addition, removal (shapeless only), or replacement — 1 to 2 changes per recipe
    3. Automatic duplicate detection & conflict resolution after shuffling
  • Global item pool — single-material recipes (shears, iron nuggets, pressure plates, etc.) pull candidates from every item that appears across all crafting recipes, preventing "replace iron with iron" no-ops
  • Three protected defaults — wooden, stone, and iron pickaxes are always kept unchanged so the game remains playable
  • Config-file extension — config/random-recipes.json lets you protect additional items by ID or specific recipe IDs
  • Cross-mod compatible — automatically processes crafting recipes registered by other mods
  • /reload friendly — edit the config and run /reload; changes apply instantly, no restart needed

How it works

StepWhat happens
1. ScanAll recipes of type RecipeType.CRAFTING are collected at server startup
2. FilterProtected items (three pickaxes + config entries) are skipped
3. Build poolEvery item appearing in any crafting recipe is collected into a global pool
4. ShuffleEach non-protected recipe gets its ingredients shuffled, then modified 1-2 times
5. DeduplicateThe final list is checked for identical (output + ingredient set) pairs; conflicts are auto-resolved

Installation

  1. Install Fabric Loader ≥ 0.15
  2. Install Fabric API
  3. Place the jar in .minecraft/mods/
  4. Launch Minecraft 1.20.1

Configuration

Generated automatically on first run at config/random-recipes.json:

{
  "protected_output_items": [
    "minecraft:wooden_pickaxe",
    "minecraft:stone_pickaxe",
    "minecraft:iron_pickaxe"
  ],
  "protected_recipe_ids": []
}
FieldPurposeExample
protected_output_itemsProtect all recipes that output a specific item"minecraft:diamond_sword"
protected_recipe_idsProtect a specific recipe by its namespace ID"mymod:special_item"

Build from source

git clone https://github.com/Annieif/random-recipes.git
cd random-recipes
./gradlew build

Artifacts are in build/libs/random-recipes-*.jar.

Screenshots

Shuffled iron axe recipe Protected iron pickaxe (unchanged) Shuffled oak slab recipe

Links

License

MIT

FAQ

How to install Random Recipes?

Install Fabric for your Minecraft version, download Random Recipes for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does Random Recipes support?

Random Recipes has builds for Minecraft 1.20.1.

Is Random Recipes needed on the server?

Needed in the game and on the server

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More