From f19c78ce0d613f8ac48dc6ca50494e839fa0f544 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Tue, 11 Oct 2016 22:16:18 +0200 Subject: [PATCH] Add crafting task cancelling --- .../apiimpl/autocrafting/task/CraftingTask.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java b/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java index c94ab016c..337892932 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java @@ -37,6 +37,8 @@ public class CraftingTask implements ICraftingTask { private IItemStackList extras = API.instance().createItemStackList(); private Deque toInsert = new ArrayDeque<>(); private int compare = IComparer.COMPARE_DAMAGE | IComparer.COMPARE_NBT; + private List took = new ArrayList<>(); + private List tookFluids = new ArrayList<>(); public CraftingTask(INetworkMaster network, ItemStack requested, ICraftingPattern pattern, int quantity) { this.network = network; @@ -152,6 +154,13 @@ public class CraftingTask implements ICraftingTask { @Override public void onCancelled() { + for (ItemStack took : this.took) { + network.insertItem(took, took.stackSize, false); + } + + for (FluidStack took : this.tookFluids) { + network.insertFluid(took, took.amount, false); + } } @Override @@ -185,6 +194,8 @@ public class CraftingTask implements ICraftingTask { if (took != null) { toTake.remove(toTakeStack, 1, true); + + this.took.add(took); } break; @@ -197,6 +208,8 @@ public class CraftingTask implements ICraftingTask { if (took != null) { toTakeFluids.remove(toTakeStack, toTakeStack.amount, true); + + this.tookFluids.add(took); } break;