@@ -139,25 +139,23 @@ public static int moveFluid(IFluidHandler inventoryFrom, IFluidHandler inventory
139139 if (inventoryFrom instanceof IStorageSystemFluidHandler storageSystemHandler ) {
140140 FluidStack extracted = storageSystemHandler .drain (filter , IFluidHandler .FluidAction .SIMULATE );
141141 int inserted = inventoryTo .fill (extracted , IFluidHandler .FluidAction .EXECUTE );
142-
143142 transferred += storageSystemHandler .drain (filter .setCount (inserted ), IFluidHandler .FluidAction .EXECUTE ).getAmount ();
144-
145143 return transferred ;
146144 }
147145
148- if (inventoryTo instanceof IStorageSystemFluidHandler storageSystemHandler ) {
149- if (filter .test (inventoryFrom .getFluidInTank (0 ))) {
150- FluidStack toExtract = inventoryFrom .getFluidInTank (0 ).copy ();
146+ for (int i = 0 ; i < inventoryFrom .getTanks (); i ++) {
147+ FluidStack fluid = inventoryFrom .getFluidInTank (i );
148+ if (filter .test (fluid )) {
149+ FluidStack toExtract = fluid .copy ();
151150 toExtract .setAmount (required );
152151 FluidStack extracted = inventoryFrom .drain (toExtract , IFluidHandler .FluidAction .SIMULATE );
153- if (extracted .isEmpty ())
154- return 0 ;
155- int inserted = storageSystemHandler . fill ( extracted , IFluidHandler . FluidAction . EXECUTE );
156-
152+ if (extracted .isEmpty ()) {
153+ continue ;
154+ }
155+ int inserted = inventoryTo . fill ( extracted , IFluidHandler . FluidAction . EXECUTE );
157156 extracted .setAmount (inserted );
158157 transferred += inventoryFrom .drain (extracted , IFluidHandler .FluidAction .EXECUTE ).getAmount ();
159158 }
160- return transferred ;
161159 }
162160 return transferred ;
163161 }
0 commit comments