aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-12-22 10:48:14 +0100
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-12-22 10:48:14 +0100
commit184164c971fd18aad29b19f7522c4902e3f41ba4 (patch)
tree5e07cb4367328247523e676e5a253a23202d4cd3 /src/main/java/com
parent3a5ed85148a1e64616d0f5eaf639cd45cd0253af (diff)
downloadGT5-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.java28
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;
}
}