Recipe Viewer Metadata
Optional recipe display metadata for mods that want to describe viewer categories and layouts.
Some APIs may still change or behave unevenly because they do not have enough real-world use cases and test coverage yet.
Recipe Viewer Metadata
RecipeViewerApi is optional metadata. It does not mean Nows currently owns a full JEI, REI or EMI integration, and you do not need it for normal recipe JSON generation.
Use it only when your mod wants to describe recipe display categories in a loader-neutral shape that another integration may consume later.
Register A Category
Register a category id, recipe class, title, icon and layout factory.
RecipeViewerApi viewer = MinecraftApi.recipeViewer(context);
viewer.registerCategory(
"my_mod:oven",
OvenRecipe.class,
McText.translatable("category.my_mod.oven"),
McItemStack.of("my_mod:oven"),
(recipe, layout) -> layout
.inputStack(20, 20, recipe.inputStack())
.output(92, 20, recipe.outputStack())
.build());
The layout factory receives the recipe object and a RecipeViewerLayout.Builder.
Register Catalysts
Use catalysts for blocks/items that open or represent the category.
viewer.registerCatalyst("my_mod:oven", "my_mod:oven");
When To Skip It
Skip RecipeViewerApi when:
- you only need recipe JSON generation
- your mod does not display custom recipe categories
- you already depend directly on a viewer API and need viewer-specific features
Keep normal recipes in Data And Recipes. Treat this page as optional display metadata.