From 2ce43cfd7b79b33bf24f7980bf2401d7aafc0583 Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Thu, 1 Jun 2017 22:16:24 -0700 Subject: [PATCH] API-facing methods for removing recipes (#1152) (cherry picked from commit f7b8dc0) --- .../bloodmagic/api/recipe/AlchemyTableRecipe.java | 5 +++++ .../bloodmagic/api/recipe/TartaricForgeRecipe.java | 4 ++++ .../api/registry/AlchemyArrayRecipeRegistry.java | 10 ++-------- .../api/registry/AlchemyTableRecipeRegistry.java | 5 +++++ .../bloodmagic/api/registry/AltarRecipeRegistry.java | 5 +++++ .../api/registry/TartaricForgeRecipeRegistry.java | 5 +++++ 6 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/api/recipe/AlchemyTableRecipe.java b/src/main/java/WayofTime/bloodmagic/api/recipe/AlchemyTableRecipe.java index 457d180f..679aa63c 100644 --- a/src/main/java/WayofTime/bloodmagic/api/recipe/AlchemyTableRecipe.java +++ b/src/main/java/WayofTime/bloodmagic/api/recipe/AlchemyTableRecipe.java @@ -4,7 +4,10 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import com.google.common.collect.ImmutableList; +import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.ToString; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -12,6 +15,8 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; +@EqualsAndHashCode +@ToString public class AlchemyTableRecipe { protected ItemStack output = null; diff --git a/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java b/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java index 073ea5c5..1585bb5f 100644 --- a/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java +++ b/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java @@ -1,6 +1,8 @@ package WayofTime.bloodmagic.api.recipe; +import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.ToString; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -12,6 +14,8 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +@EqualsAndHashCode +@ToString public class TartaricForgeRecipe { protected ItemStack output = null; diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyArrayRecipeRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyArrayRecipeRegistry.java index 349d315d..a90b6139 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyArrayRecipeRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyArrayRecipeRegistry.java @@ -74,13 +74,7 @@ public class AlchemyArrayRecipeRegistry } } - if (circleRenderer == null) - { - recipes.put(input, new AlchemyArrayRecipe(input, catalystStack, arrayEffect, defaultRenderer)); - } else - { - recipes.put(input, new AlchemyArrayRecipe(input, catalystStack, arrayEffect, circleRenderer)); - } + recipes.put(input, new AlchemyArrayRecipe(input, catalystStack, arrayEffect, circleRenderer == null ? defaultRenderer : circleRenderer)); } public static AlchemyArrayEffect getAlchemyArrayEffect(String key) @@ -116,7 +110,7 @@ public class AlchemyArrayRecipeRegistry } /** - * @param Output + * @param stack * of the recipe * @return an array of two ItemStacks - first index is the input stack, * second is the catalyst stack. Returns {null, null} if no recipe diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyTableRecipeRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyTableRecipeRegistry.java index f97025ad..cbc13263 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyTableRecipeRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/AlchemyTableRecipeRegistry.java @@ -22,6 +22,11 @@ public class AlchemyTableRecipeRegistry registerRecipe(new AlchemyTableRecipe(outputStack, lpDrained, ticksRequired, tierRequired, objects)); } + public static void removeRecipe(AlchemyTableRecipe recipe) + { + recipeList.remove(recipe); + } + public static AlchemyTableRecipe getMatchingRecipe(List itemList, World world, BlockPos pos) { for (AlchemyTableRecipe recipe : recipeList) diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/AltarRecipeRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/AltarRecipeRegistry.java index c2ebc323..3f71204b 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/AltarRecipeRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/AltarRecipeRegistry.java @@ -42,6 +42,11 @@ public class AltarRecipeRegistry registerRecipe(new AltarRecipe(orbStack, orbStack, tier, maxForOrb, consumeRate, drainRate, true)); } + public static void removeRecipe(AltarRecipe altarRecipe) + { + recipes.remove(altarRecipe.getInput()); + } + /** * Gets the recipe that the provided input is registered to. * diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/TartaricForgeRecipeRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/TartaricForgeRecipeRegistry.java index 35c6edfa..24ad8e39 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/TartaricForgeRecipeRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/TartaricForgeRecipeRegistry.java @@ -22,6 +22,11 @@ public class TartaricForgeRecipeRegistry registerRecipe(new TartaricForgeRecipe(outputStack, minimulSouls, drain, objects)); } + public static void removeRecipe(TartaricForgeRecipe recipe) + { + recipeList.remove(recipe); + } + public static TartaricForgeRecipe getMatchingRecipe(List itemList, World world, BlockPos pos) { for (TartaricForgeRecipe recipe : recipeList)