Minecraft Advancement & Recipe Maker

Generate custom advancement and recipe JSON for datapacks — titles, icons, criteria, shaped and shapeless crafts.

Advancement details

Create a custom advancement for your datapack. Fill in the basics and pick a trigger type.

Use namespace:id format, e.g. myserver:first_join

Generated JSON


    

Minecraft Advancement & Recipe Maker guide

Create custom Minecraft advancement and recipe JSON for datapacks — titles, icons, criteria, shaped and shapeless crafts — then download files ready for your namespace.

Custom progression for your server

Advancements guide new players, unlock story beats, and reward exploration. Recipes let you add server-unique crafts for events or ranks. This maker walks through display text, icons, and criteria, then exports valid JSON.

Switch between advancement and recipe modes, preview the output, and download files you can drop into a datapack built with our packager.

Criteria and crafting grids

Use inventory or entity criteria for common advancement goals, or impossible triggers for manually granted staff rewards. Shaped grids and shapeless lists cover most custom recipe needs; smelting-style recipes are available when you need furnace lines.

Keep namespaces consistent with the rest of your datapack so references between advancements and recipes stay clear.

Testing before players see it

Install the datapack on a test world, run /reload, and grant or craft to verify. Broken JSON shows in the console — fix and re-export rather than debugging on the live network.

Announce new advancements in patch notes so players know what to chase after a season update.

Common questions

Do recipes need a datapack?
Yes. Place generated recipe JSON under data/<namespace>/recipe/ inside a datapack with a valid pack.mcmeta.
Can I make root advancements?
Yes. Set a clear title, description, and icon, then export. Link children by editing parent fields in your datapack as you grow the tree.
Will this overwrite vanilla advancements?
Only if you use vanilla IDs on purpose. Prefer your own namespace for custom content so updates do not fight Mojang’s files.