From 30e18429eca8f64609c81b63d5690ec80bcddcad Mon Sep 17 00:00:00 2001 From: WayofTime Date: Thu, 3 Apr 2014 06:53:45 -0400 Subject: [PATCH] Setting up Binding recipe registry - 50% --- .../api/bindingRegistry/BindingRecipe.java | 30 +++++++++++++++ .../api/bindingRegistry/BindingRegistry.java | 38 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java create mode 100644 BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java diff --git a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java new file mode 100644 index 00000000..725a5f5f --- /dev/null +++ b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java @@ -0,0 +1,30 @@ +package WayofTime.alchemicalWizardry.api.bindingRegistry; + +import net.minecraft.item.ItemStack; + +public class BindingRecipe +{ + public ItemStack requiredItem; + public ItemStack outputItem; + + public BindingRecipe(ItemStack requiredItem, ItemStack outputItem) + { + this.requiredItem = requiredItem; + this.outputItem = outputItem; + } + + public boolean doesRequiredItemMatch(ItemStack testStack) + { + if(testStack == null || this.requiredItem == null) + { + return false; + } + + return this.requiredItem.isItemEqual(testStack); + } + + public ItemStack getResult() + { + return this.outputItem; + } +} diff --git a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java new file mode 100644 index 00000000..55acc0c7 --- /dev/null +++ b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java @@ -0,0 +1,38 @@ +package WayofTime.alchemicalWizardry.api.bindingRegistry; + +import java.util.LinkedList; +import java.util.List; + +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; + +public class BindingRegistry +{ + public static List bindingRecipes = new LinkedList(); + + public static boolean isRequiredItemValid(ItemStack testItem, int currentTierAltar) + { + for(BindingRecipe recipe : bindingRecipes) + { + if(recipe.doesRequiredItemMatch(testItem)) + { + return true; + } + } + + return false; + } + + public static ItemStack getItemForItemAndTier(ItemStack testItem, int currentTierAltar) + { + for(BindingRecipe recipe : bindingRecipes) + { + if(recipe.doesRequiredItemMatch(testItem)) + { + return recipe.getResult().copy(); + } + } + + return null; + } +}