feat: add infusion recipes to crafting manager

This commit is contained in:
Timo Ley 2023-01-08 13:41:41 +01:00
parent 98e1dad6d9
commit 6d5559ee02
2 changed files with 17 additions and 0 deletions

View File

@ -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<CrucibleRecipe> crucibleRecipes = new ArrayList<CrucibleRecipe>();
private static List<IInfusionRecipe> infusionRecipes = new ArrayList<IInfusionRecipe>();
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<IInfusionRecipe> getInfusionRecipes() {
return infusionRecipes;
}
}

View File

@ -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;