@@ -103,20 +103,15 @@ public void update() {
103
103
IFluidHandler handler = LevelUtils .getFluidHandler (getFacingBlockEntity (), getDirection ().getOpposite ());
104
104
105
105
if (handler != null ) {
106
- FluidStack stack = handler .drain (FluidType .BUCKET_VOLUME , IFluidHandler .FluidAction .SIMULATE );
106
+ FluidStack extractedSimulated = handler .drain (FluidType .BUCKET_VOLUME * upgrades . getStackInteractCount () , IFluidHandler .FluidAction .SIMULATE );
107
107
108
- if (!stack .isEmpty () &&
109
- IWhitelistBlacklist .acceptsFluid (fluidFilters , mode , compare , stack ) &&
110
- network .insertFluid (stack , stack .getAmount (), Action .SIMULATE ).isEmpty ()) {
111
- FluidStack toDrain = handler .drain (FluidType . BUCKET_VOLUME * upgrades . getStackInteractCount () , IFluidHandler .FluidAction .SIMULATE );
108
+ if (!extractedSimulated .isEmpty ()
109
+ && IWhitelistBlacklist .acceptsFluid (fluidFilters , mode , compare , extractedSimulated )
110
+ && network .insertFluid (extractedSimulated , extractedSimulated .getAmount (), Action .SIMULATE ).isEmpty ()) {
111
+ FluidStack extracted = handler .drain (extractedSimulated , IFluidHandler .FluidAction .EXECUTE );
112
112
113
- if (!toDrain .isEmpty ()) {
114
- FluidStack remainder = network .insertFluidTracked (toDrain , toDrain .getAmount ());
115
- if (!remainder .isEmpty ()) {
116
- toDrain .shrink (remainder .getAmount ());
117
- }
118
-
119
- handler .drain (toDrain , IFluidHandler .FluidAction .EXECUTE );
113
+ if (!extracted .isEmpty ()) {
114
+ network .insertFluidTracked (extracted , extracted .getAmount ());
120
115
}
121
116
}
122
117
}
0 commit comments