80% of this mod is improving Pick Up And Haul (optional; installed separately). If you already use PUAH, you want this mod too.
“But my pawns are walking farther!”
Yes. A slightly longer journey now to avoid a much longer journey next time.
While You’re Up Mod features
Pick Up And Haul+: Better unloading
We enhance all inventory hauling by unloading only once at each storage destination, in closest order.
We improve performance by caching haulable destinations.
Vanilla has support for opportunities, but with limitations: haulable near your start position, and storage near your job.
We prefer these, but drop them as requirements to include hauls along the path.
We skip opportunities when bleeding or forming a caravan.
Pick Up And Haul+
Modified to grab only surrounding things whose unload path is also opportunistic.
Haul extra supplies & ingredients closer
If hauling resources to storage would bring them closer to their job, do that first (grabbing extra).
Your builder will never again cross the map to retrieve a single component.
Pick Up And Haul+
Modified to grab extra things headed to the same storage (when higher priority).
Grab extra supplies & ingredients headed to the same storage (when equal priority).
Storage building filters for mod compatibility
Permit or deny for any storage building through settings, or leave automatically managed with mod updates.
Recognizing this mod: “on the way to”, “closer to”, “Efficiently unloading”:
Vanilla’s opportunistic hauling was well-optimized for performance, which this mod painstakingly preserves in its enhancements. Likewise we aggressively cache all haul destination lookups for all features, even base Pick Up And Haul.
Common Sense? Yes. (I prevent incompatible settings from being on at the same time.)
LWM’s Deep Storage? Yes. But off by default for Opportunities because storing items takes time.
Perfect Pathfinding? I expect WYU’s Pathfinding setting to be compatible, but haven’t tested.
@Modders: if you set allowOpportunisticPrefix to false for a JobDef, it won’t allow opportunistic jobs. This is a vanilla feature.
• Not taking into account travel time around walls.
This is a consequence of the trade-off between maximum opportunities and good performance.
You can change Path checking within the settings to Pathfinding but it may reduce performance.
You can also set it to Vanilla but it will reduce opportunities.
(Building a door in the wall will also work, if possible.)
• Hauling resources to storage (“closer to”) despite no extras.
Will occasionally happen with Pick Up And Haul. Not easily fixed.