package net.minecraft.data.recipes; import java.util.function.Function; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.item.crafting.Recipe; public class SpecialRecipeBuilder { private final Function> factory; public SpecialRecipeBuilder(Function> factory) { this.factory = factory; } public static SpecialRecipeBuilder special(Function> factory) { return new SpecialRecipeBuilder(factory); } public void save(RecipeOutput recipeOutput, String recipeId) { this.save(recipeOutput, ResourceKey.create(Registries.RECIPE, ResourceLocation.parse(recipeId))); } public void save(RecipeOutput output, ResourceKey> resourceKey) { output.accept(resourceKey, (Recipe)this.factory.apply(CraftingBookCategory.MISC), null); } }