diff --git a/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java b/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java index 11747219..fe3977ae 100644 --- a/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java +++ b/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java @@ -1,6 +1,10 @@ package org.betterx.bclib.recipes; +import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; import net.minecraft.world.level.ItemLike; public class BCLRecipeBuilder { @@ -20,6 +24,37 @@ public class BCLRecipeBuilder { return CraftingRecipeBuilder.make(id, output); } + private static CraftingRecipeBuilder copySmithingTemplateBase( + ResourceLocation id, + ItemLike output + ) { + return CraftingRecipeBuilder + .make(id, output) + .setOutputCount(2) + .setCategory(RecipeCategory.MISC) + .addMaterial('#', Items.DIAMOND) + .addMaterial('S', output) + .setShape("#S#", "#C#", "###"); + } + + public static CraftingRecipeBuilder copySmithingTemplate( + ResourceLocation id, + ItemLike output, + TagKey tagKey + ) { + return copySmithingTemplateBase(id, output) + .addMaterial('C', tagKey); + } + + public static CraftingRecipeBuilder copySmithingTemplate( + ResourceLocation id, + ItemLike output, + ItemLike ingredient + ) { + return copySmithingTemplateBase(id, output) + .addMaterial('C', ingredient); + } + public static CookingRecipeBuilder smelting(ResourceLocation id, ItemLike output) { return CookingRecipeBuilder.make(id, output); }