Fixed an autocrafting crash, fixes #1567

This commit is contained in:
raoulvdberge
2018-03-08 21:38:47 +01:00
parent 0b9c62c6c0
commit 333935bd85
2 changed files with 11 additions and 6 deletions

View File

@@ -12,6 +12,7 @@
- Fixed orientations of the Portable Grid (TeamSpen210) - Fixed orientations of the Portable Grid (TeamSpen210)
- Fixed crafting event in Crafting Grid being fired twice (raoulvdberge) - Fixed crafting event in Crafting Grid being fired twice (raoulvdberge)
- Fixed a crash when the Constructor tries to place a block when a multipart is attached to it (raoulvdberge) - Fixed a crash when the Constructor tries to place a block when a multipart is attached to it (raoulvdberge)
- Fixed an autocrafting crash (raoulvdberge)
- Attempted to fix FPS drop on Grid sorting (raoulvdberge) - Attempted to fix FPS drop on Grid sorting (raoulvdberge)
- Disk Manipulator in fluid mode will now extract a bucket at a time instead of 1 mB (or 64 buckets at a time with a Stack Upgrade instead of 64 mB) (raoulvdberge) - Disk Manipulator in fluid mode will now extract a bucket at a time instead of 1 mB (or 64 buckets at a time with a Stack Upgrade instead of 64 mB) (raoulvdberge)

View File

@@ -249,15 +249,19 @@ public class CraftingTask implements ICraftingTask {
toCraft.add(inputCrafted); toCraft.add(inputCrafted);
actualInputs.add(inputCrafted); actualInputs.add(inputCrafted);
previousSteps.add(calculate(networkItems, networkFluids, inputPattern, toInsert)); ICraftingStep step = calculate(networkItems, networkFluids, inputPattern, toInsert);
input.shrink(craftQuantity); input.shrink(craftQuantity);
if (recursedPattern == null) { if (step != null) {
// Calculate added all the crafted outputs toInsert previousSteps.add(step);
// So we remove the ones we use from toInsert
ItemStack inserted = toInsert.get(inputCrafted, compare); if (recursedPattern == null) {
toInsert.remove(inserted, craftQuantity); // Calculate added all the crafted outputs toInsert
// So we remove the ones we use from toInsert
ItemStack inserted = toInsert.get(inputCrafted, compare);
toInsert.remove(inserted, craftQuantity);
}
} }
} else { } else {
// Fluid checks are with a stack size of one // Fluid checks are with a stack size of one