[Change] Recipe Builder for recipe that copies smithing templates

This commit is contained in:
Frank 2023-05-30 19:27:55 +02:00
parent 1bc1487dfe
commit 7560052c8f

View file

@ -1,6 +1,10 @@
package org.betterx.bclib.recipes; package org.betterx.bclib.recipes;
import net.minecraft.data.recipes.RecipeCategory;
import net.minecraft.resources.ResourceLocation; 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; import net.minecraft.world.level.ItemLike;
public class BCLRecipeBuilder { public class BCLRecipeBuilder {
@ -20,6 +24,37 @@ public class BCLRecipeBuilder {
return CraftingRecipeBuilder.make(id, output); 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<Item> 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) { public static CookingRecipeBuilder smelting(ResourceLocation id, ItemLike output) {
return CookingRecipeBuilder.make(id, output); return CookingRecipeBuilder.make(id, output);
} }