From c041b2320b2a8b5c83e3001fc559e9006e7b7aa8 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 22 Nov 2020 19:50:31 +0100 Subject: [PATCH] fixed currently crafting amount being incorrect with multiple crafting modules in a pipe --- .../de/ellpeck/prettypipes/network/PipeNetwork.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/ellpeck/prettypipes/network/PipeNetwork.java b/src/main/java/de/ellpeck/prettypipes/network/PipeNetwork.java index 6fd7bd2..a323c42 100644 --- a/src/main/java/de/ellpeck/prettypipes/network/PipeNetwork.java +++ b/src/main/java/de/ellpeck/prettypipes/network/PipeNetwork.java @@ -7,11 +7,11 @@ import de.ellpeck.prettypipes.PrettyPipes; import de.ellpeck.prettypipes.Registry; import de.ellpeck.prettypipes.Utility; import de.ellpeck.prettypipes.misc.ItemEqualityType; +import de.ellpeck.prettypipes.packets.PacketHandler; +import de.ellpeck.prettypipes.packets.PacketItemEnterPipe; import de.ellpeck.prettypipes.pipe.IPipeItem; import de.ellpeck.prettypipes.pipe.PipeBlock; import de.ellpeck.prettypipes.pipe.PipeTileEntity; -import de.ellpeck.prettypipes.packets.PacketHandler; -import de.ellpeck.prettypipes.packets.PacketItemEnterPipe; import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; @@ -254,10 +254,9 @@ public class PipeNetwork implements ICapabilitySerializable, GraphL public List> getCurrentlyCrafting(BlockPos node) { this.startProfile("get_currently_crafting"); List> items = new ArrayList<>(); - for (Pair craftable : this.getAllCraftables(node)) { - PipeTileEntity pipe = this.getPipe(craftable.getLeft()); - if (pipe == null) - continue; + Iterator craftingPipes = this.getAllCraftables(node).stream().map(c -> this.getPipe(c.getLeft())).distinct().iterator(); + while (craftingPipes.hasNext()) { + PipeTileEntity pipe = craftingPipes.next(); for (Pair request : pipe.craftResultRequests) { BlockPos dest = request.getLeft(); ItemStack stack = request.getRight();