From 6a170a1ace0b85039e18825cd780227b9d2de21d Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Tue, 28 Dec 2021 12:13:20 +0100 Subject: [PATCH] fixed crafting modules miscalculating the amount of items they can craft Closes #111 --- .../prettypipes/pipe/modules/craft/CraftingModuleItem.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/ellpeck/prettypipes/pipe/modules/craft/CraftingModuleItem.java b/src/main/java/de/ellpeck/prettypipes/pipe/modules/craft/CraftingModuleItem.java index 857f2c5..4bc9d90 100644 --- a/src/main/java/de/ellpeck/prettypipes/pipe/modules/craft/CraftingModuleItem.java +++ b/src/main/java/de/ellpeck/prettypipes/pipe/modules/craft/CraftingModuleItem.java @@ -167,8 +167,10 @@ public class CraftingModuleItem extends ModuleItem { var equalityTypes = ItemFilter.getEqualityTypes(tile); var resultAmount = this.getResultAmountPerCraft(module, stack, equalityTypes); + // calculate how many crafting *operations* to do (as opposed to how many *items* to craft) var requiredCrafts = Mth.ceil(stack.getCount() / (float) resultAmount); - var toCraft = Math.min(craftableAmount, requiredCrafts); + var craftableCrafts = Mth.ceil(craftableAmount / (float) resultAmount); + var toCraft = Math.min(craftableCrafts, requiredCrafts); var input = this.getInput(module); for (var i = 0; i < input.getSlots(); i++) {