From 196192786deb037aa72082fee758aa2dfcb91845 Mon Sep 17 00:00:00 2001 From: Darkere Date: Thu, 18 Jun 2020 13:32:12 +0200 Subject: [PATCH] minor changes to shift crafting behavior (#2561) * minor changes to shift crafting behavior * revert shift crafting only crafting until current stack size of crafting slots. --- .../apiimpl/network/grid/CraftingGridBehavior.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java index 025da9caf..1700d485c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java @@ -75,7 +75,10 @@ public class CraftingGridBehavior implements ICraftingGridBehavior { int amountCrafted = 0; ItemStack crafted = grid.getCraftingResult().getStackInSlot(0); + int maxCrafted = crafted.getMaxStackSize(); + ForgeHooks.setCraftingPlayer(player); + // Do while the item is still craftable (aka is the result slot still the same as the original item?) and we don't exceed the max stack size. do { grid.onCrafted(player); @@ -83,7 +86,7 @@ public class CraftingGridBehavior implements ICraftingGridBehavior { craftedItemsList.add(crafted.copy()); amountCrafted += crafted.getCount(); - } while (API.instance().getComparer().isEqual(crafted, grid.getCraftingResult().getStackInSlot(0)) && amountCrafted < crafted.getMaxStackSize()); + } while (API.instance().getComparer().isEqual(crafted, grid.getCraftingResult().getStackInSlot(0)) && amountCrafted < maxCrafted && amountCrafted + crafted.getCount() <= maxCrafted ); INetwork network = grid.getNetwork();