diff --git a/src/main/java/com/simibubi/create/content/fluids/transfer/FluidDrainingBehaviour.java b/src/main/java/com/simibubi/create/content/fluids/transfer/FluidDrainingBehaviour.java index 6354642fa..2767563ac 100644 --- a/src/main/java/com/simibubi/create/content/fluids/transfer/FluidDrainingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/fluids/transfer/FluidDrainingBehaviour.java @@ -279,7 +279,14 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { } int maxBlocks = maxBlocks(); - if (visited.size() > maxBlocks && canDrainInfinitely(fluid) && !queue.isEmpty()) { + int sourceBlocks = 0; + + for (BlockPos pos : visited) { + if (getWorld().getFluidState(pos).isSource()) + sourceBlocks++; + } + + if (sourceBlocks > maxBlocks && canDrainInfinitely(fluid) && !queue.isEmpty()) { infinite = true; BlockPos firstValid = queue.first() .pos();