public int fill( ForgeDirection from, FluidStack resource, boolean doFill, boolean doPush, int pushToken) { if (resource == null || resource.amount <= 0) { return 0; } if (!canFill(from, resource.getFluid())) { return 0; } if (network == null) { return 0; } if (network.canAcceptLiquid(resource)) { network.setFluidType(resource); } else { return 0; } resource = resource.copy(); resource.amount = Math.min(MAX_IO_PER_TICK, resource.amount); if (doPush) { return pushLiquid(from, resource, doFill, pushToken); } else { return tank.fill(resource, doFill); } }