Refined Storage

Refined Storage

115M Downloads

Asynchronous processing autocrafting

KindaWorks opened this issue ยท 2 comments

commented

Describe your enhancement

Is it possible to implement (semi) asynchronous autocrafting in RS2? Currently once the autocrafter starts crafting in a furnace - it obtains a lock on it and no other autocraft can happen using the same machine. I think a reasonable solution would be to check every 10 items for example if there isn't any other autocraft happening using that machine. It should then free it up for another 10 items from the other autocraft.

Reasoning:
I'm currently running autocrafts for 1048m storage disks and these keep the autocrafters busy for a long time, especially the furnace ones. I'm running two Unobtainium furnaces (ATM10) autocrafting in parallel. Both are set to Lock mode: Never and one has a higher priority than the other (10 vs 0).
Meanwhile I have a generator that has autocrafts set up on the exporters. It is a critical priority exporter and without it working - the power is cut off of one section of my base.
The result is that I have to cancel the 1048m autocraft every now and then just to bring the power back. And then of course start it again.

Alternative fix for my issue would be if there was any way to share the storage without sharing autocrafting between two different controllers. I could then set up the second controller with separate autocrafters and separate furnaces just for long-running tasks. It would be a hack-ish fix, though.

commented

Currently once the autocrafter starts crafting in a furnace - it obtains a lock on it and no other autocraft can happen using the same machine.

This is not true. It only obtains a lock when you set "Locking mode" to something other than "Never".

When set to "Never", the only requirement for RS is that there is space in the inventory, and the inventory allows insertions.

If it appears like there is a lock (aka it cannot insert the items), it's because the inventory is actively blocking it.

For example, connect a chest to an autocrafter and see that it can push 2 different patterns at the same time. There is no lock.

commented

I think the problem is that the Unobtainium furnace processes an item (or stack) per tick and has auto-sort mode turned on. I think when it inserts the items from first recipe - the furnace auto-sorts it and fills all of it slots, which results in locking the furnace for the rest of this tick. I think this could be fixed by setting autocrafter to "Round robin" or something so it'd alternate between requested recipes.
I'll also add that I'm using Netherite Autocrafter from ExtraStorage mod and I'm assuming it works exactly the same as a regular autocrafter.
Temporary fix for my case is setting Unobtainium furnace's auto-sort to off, but I'm quite sure that similar case could be achieved on a regular autocrafter with some really unfortunate combination of processing recipes.

EDIT: Auto-split* doesn't make any sense for Unobtainium furnace as it only slows it down... I think this was my issue all along.