From 6d5559ee022f105eb0d8e453fa44abfa4f96a1c0 Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Sun, 8 Jan 2023 13:41:41 +0100 Subject: [PATCH] feat: add infusion recipes to crafting manager --- .../java/dev/tilera/auracore/api/AuracoreRecipes.java | 6 ++++++ .../auracore/crafting/AuracoreCraftingManager.java | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/dev/tilera/auracore/api/AuracoreRecipes.java b/src/main/java/dev/tilera/auracore/api/AuracoreRecipes.java index 99cc4dc..36ea003 100644 --- a/src/main/java/dev/tilera/auracore/api/AuracoreRecipes.java +++ b/src/main/java/dev/tilera/auracore/api/AuracoreRecipes.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import dev.tilera.auracore.api.crafting.CrucibleRecipe; +import dev.tilera.auracore.api.crafting.IInfusionRecipe; import net.minecraft.item.ItemStack; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.tiles.TileCrucible; @@ -11,6 +12,7 @@ import thaumcraft.common.tiles.TileCrucible; public class AuracoreRecipes { private static List crucibleRecipes = new ArrayList(); + private static List infusionRecipes = new ArrayList(); public static void addCrucibleRecipe(String key, ItemStack result, int cost, AspectList tags) { crucibleRecipes.add(new CrucibleRecipe(key, result, tags, cost)); @@ -82,4 +84,8 @@ public class AuracoreRecipes { return output; } + public static List getInfusionRecipes() { + return infusionRecipes; + } + } diff --git a/src/main/java/dev/tilera/auracore/crafting/AuracoreCraftingManager.java b/src/main/java/dev/tilera/auracore/crafting/AuracoreCraftingManager.java index a4bdb40..6c3b7a1 100644 --- a/src/main/java/dev/tilera/auracore/crafting/AuracoreCraftingManager.java +++ b/src/main/java/dev/tilera/auracore/crafting/AuracoreCraftingManager.java @@ -2,6 +2,7 @@ package dev.tilera.auracore.crafting; import dev.tilera.auracore.api.AuracoreRecipes; import dev.tilera.auracore.api.crafting.CrucibleRecipe; +import dev.tilera.auracore.api.crafting.IInfusionRecipe; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -27,6 +28,16 @@ public class AuracoreCraftingManager { return null; } + public IInfusionRecipe findMatchingInfusionRecipe(TileMagicWorkbench inv, EntityPlayer pl) { + for (IInfusionRecipe recipe : AuracoreRecipes.getInfusionRecipes()) { + if (recipe.matches(inv, pl.worldObj, pl)) { + return recipe; + } + } + + return null; + } + public static int getArcaneRecipeVisCost(IArcaneRecipe recipe, TileMagicWorkbench awb) { if (recipe == null) return 0; int sum = 0;