diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java index a0e0ac8cc..364b7cf29 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidNetwork.java @@ -191,6 +191,12 @@ public class FluidNetwork { transfer = handler.drain(toExtract, action); } + if (transfer.isEmpty()) { + FluidStack genericExtract = handler.drain(flowSpeed, action); + if (!genericExtract.isEmpty() && genericExtract.isFluidEqual(fluid)) + transfer = genericExtract; + } + if (transfer.isEmpty()) return; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java index c905dcfe9..d3ee7764e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java @@ -32,10 +32,10 @@ public class StraightPipeTileEntity extends SmartTileEntity { public StraightPipeFluidTransportBehaviour(SmartTileEntity te) { super(te); } - + @Override public boolean canHaveFlowToward(BlockState state, Direction direction) { - return state.get(AxisPipeBlock.AXIS) == direction.getAxis(); + return state.has(AxisPipeBlock.AXIS) && state.get(AxisPipeBlock.AXIS) == direction.getAxis(); } @Override