diff --git a/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java b/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java index b18f329a..55890896 100644 --- a/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java +++ b/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java @@ -79,20 +79,16 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory this.damage = damage; } - static Builder create(String id) { - return create(BCLib.makeID(id)); - } - - static Builder create(ResourceLocation id) { + static Builder create(ResourceLocation id, ItemLike output) { Builder.INSTANCE.id = id; Builder.INSTANCE.input = null; - Builder.INSTANCE.output = null; + Builder.INSTANCE.output = output; Builder.INSTANCE.inputCount = 1; Builder.INSTANCE.toolLevel = 1; Builder.INSTANCE.anvilLevel = 1; Builder.INSTANCE.damage = 1; Builder.INSTANCE.alright = true; - Builder.INSTANCE.exist = true; + Builder.INSTANCE.exist &= RecipeHelper.exists(output); return Builder.INSTANCE; } @@ -267,8 +263,9 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory private ResourceLocation id; private Ingredient input; - private ItemStack output; + private ItemLike output; private int inputCount = 1; + private int outputCount = 1; private int toolLevel = 1; private int anvilLevel = 1; private int damage = 1; @@ -299,13 +296,8 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory return this; } - public Builder setOutput(ItemLike output) { - return this.setOutput(output, 1); - } - - public Builder setOutput(ItemLike output, int amount) { - this.alright &= RecipeHelper.exists(output); - this.output = new ItemStack(output, amount); + public Builder setOutputCount(int count) { + this.outputCount = count; return this; } @@ -352,7 +344,15 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory } BCLRecipeManager.addRecipe( TYPE, - new AnvilRecipe(id, input, output, inputCount, toolLevel, anvilLevel, damage) + new AnvilRecipe( + id, + input, + new ItemStack(output, outputCount), + inputCount, + toolLevel, + anvilLevel, + damage + ) ); } } diff --git a/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java b/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java index 31f30bc8..d3799db7 100644 --- a/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java +++ b/src/main/java/org/betterx/bclib/recipes/BCLRecipeBuilder.java @@ -8,8 +8,8 @@ public class BCLRecipeBuilder { return AlloyingRecipe.Builder.create(id, output); } - public static AnvilRecipe.Builder anvil(ResourceLocation id) { - return AnvilRecipe.create(id); + public static AnvilRecipe.Builder anvil(ResourceLocation id, ItemLike output) { + return AnvilRecipe.create(id, output); } public static BlastFurnaceRecipe blasting(ResourceLocation id, ItemLike output) { diff --git a/src/main/java/org/betterx/bclib/recipes/SmithingTableRecipe.java b/src/main/java/org/betterx/bclib/recipes/SmithingTableRecipe.java index 1caac126..22afa290 100644 --- a/src/main/java/org/betterx/bclib/recipes/SmithingTableRecipe.java +++ b/src/main/java/org/betterx/bclib/recipes/SmithingTableRecipe.java @@ -34,14 +34,14 @@ public class SmithingTableRecipe extends AbstractSimpleRecipe in) { + public SmithingTableRecipe setAddition(TagKey in) { this.addon = Ingredient.of(in); unlockedBy(in); return this;