diff options
author | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-12-22 10:48:14 +0100 |
---|---|---|
committer | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-12-22 10:48:14 +0100 |
commit | 184164c971fd18aad29b19f7522c4902e3f41ba4 (patch) | |
tree | 5e07cb4367328247523e676e5a253a23202d4cd3 /src/main/java/com | |
parent | 3a5ed85148a1e64616d0f5eaf639cd45cd0253af (diff) | |
download | GT5-Unofficial-184164c971fd18aad29b19f7522c4902e3f41ba4.tar.gz GT5-Unofficial-184164c971fd18aad29b19f7522c4902e3f41ba4.tar.bz2 GT5-Unofficial-184164c971fd18aad29b19f7522c4902e3f41ba4.zip |
finishing work on replacement list
+ version increase
Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Former-commit-id: 6e1302c5f38d49d3c7cfc2f8194cc5ada9bad1a4
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java index 53a0fff182..d9ff910ff8 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreStaticReplacementMethodes.java @@ -30,8 +30,9 @@ import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; +import java.util.HashSet; import java.util.Iterator; -import java.util.Optional; +import java.util.List; public class BWCoreStaticReplacementMethodes { @@ -79,25 +80,32 @@ public class BWCoreStaticReplacementMethodes { return new ItemStack(itemstack.getItem(), 1, i1); } else { - Optional<IRecipe> iPossibleRecipe = Optional.empty(); + IRecipe iPossibleRecipe = null; int index = 0; - for (Iterator<IRecipe> it = RECENTLYUSEDRECIPES.iterator(); it.hasNext();++index) { + for (Iterator<IRecipe> it = RECENTLYUSEDRECIPES.iterator(); it.hasNext(); ++index) { IRecipe RECENTLYUSEDRECIPE = it.next(); if (RECENTLYUSEDRECIPE.matches(inventoryCrafting, world)) { - iPossibleRecipe = Optional.of(RECENTLYUSEDRECIPE); + iPossibleRecipe = RECENTLYUSEDRECIPE; break; } } - if (iPossibleRecipe.isPresent()) { + if (iPossibleRecipe != null) { RECENTLYUSEDRECIPES.addPrioToNode(index); - return iPossibleRecipe.get().getCraftingResult(inventoryCrafting); + return iPossibleRecipe.getCraftingResult(inventoryCrafting); } - iPossibleRecipe = CraftingManager.getInstance().getRecipeList().stream().filter(r -> ((IRecipe)r).matches(inventoryCrafting, world)).findFirst(); - ItemStack stack = iPossibleRecipe.map(iRecipe -> iRecipe.getCraftingResult(inventoryCrafting)).orElse(null); - if (stack != null) - RECENTLYUSEDRECIPES.addLast(iPossibleRecipe.get()); + ItemStack stack = null; + HashSet<IRecipe> recipeHashSet = new HashSet<>(); + for (IRecipe recipe : (List<IRecipe>) CraftingManager.getInstance().getRecipeList()) + if (recipe.matches(inventoryCrafting, world)) + recipeHashSet.add(recipe); + + for (IRecipe recipe : recipeHashSet){ + stack = recipe.getCraftingResult(inventoryCrafting); + if (stack != null && recipeHashSet.size() == 1) + RECENTLYUSEDRECIPES.addLast(recipe); + } return stack; } } |