fix the actual issue of #559

This commit is contained in:
way2muchnoise
2016-11-01 12:02:11 +01:00
parent 268018673b
commit 4d96990116

View File

@@ -408,14 +408,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
List<ICraftingPattern> patterns = new ArrayList<>(); List<ICraftingPattern> patterns = new ArrayList<>();
for (ICraftingPattern craftingPattern : getPatterns()) { for (ICraftingPattern craftingPattern : getPatterns()) {
IItemStackList outputs = API.instance().createItemStackList(); for (ItemStack output : craftingPattern.getOutputs()) {
craftingPattern.getOutputs().stream().filter(Objects::nonNull).forEach(outputs::add); if (API.instance().getComparer().isEqual(output, pattern, flags)) {
outputs = outputs.getOredicted();
ItemStack contains = outputs.get(pattern, flags);
if (contains != null && contains.stackSize > 0) {
patterns.add(craftingPattern); patterns.add(craftingPattern);
} }
} }
}
return patterns; return patterns;
} }
@@ -433,12 +431,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
int highestScore = 0; int highestScore = 0;
int highestPattern = 0; int highestPattern = 0;
IItemStackList itemList = itemStorage.getList().getOredicted();
for (int i = 0; i < patterns.size(); ++i) { for (int i = 0; i < patterns.size(); ++i) {
int score = 0; int score = 0;
for (ItemStack input : patterns.get(i).getInputs()) { for (ItemStack input : patterns.get(i).getInputs()) {
if (input != null) { if (input != null) {
ItemStack stored = itemStorage.getList().get(input, IComparer.COMPARE_DAMAGE | IComparer.COMPARE_NBT | (patterns.get(i).isOredict() ? IComparer.COMPARE_OREDICT : 0)); ItemStack stored = itemList.get(input, IComparer.COMPARE_DAMAGE | IComparer.COMPARE_NBT | (patterns.get(i).isOredict() ? IComparer.COMPARE_OREDICT : 0));
score += stored != null ? stored.stackSize : 0; score += stored != null ? stored.stackSize : 0;
} }