Assembly Lines Randomly Breaking
Tapeman83 opened this issue ยท 4 comments
Pack Version:
d0117b8
Description:
My assembly lines, after working perfectly for hundreds or thousands of crafts, randomly stop working and just read "Invalid Structure" until I physically move the entire multiblock to a new location.
Expected Behavior:
The assembly lines should continue to function normally if they are not altered.
Steps To Reproduce:
I don't know how to reproduce this. My assembly lines just stop working for no discernable reason, and 9 of them are currently unfixable.
Screenshots:
https://gyazo.com/73482e4da68bb22934fcfbed0ab90c59
Sure.
Something to note with how my base is built is that I've denoted each chunk with the factory blocks, so they're easily visible even without turning the borders on.
https://gyazo.com/7dc580f9361ac4075e644fc81164d72e - a view of the entire row of my assembly lines.
https://gyazo.com/58cc96cff95ab5b060aba07d80f25f25 - the second set of them.
https://gyazo.com/ba3087d6e76fd96c0cc4ba50a36e1df2 - the empty space present here is from the first time that they broke randomly and forced me to relocate the entire structure.
Underneath each line, I have small tunnels with the interface, a crate on each one, and conduits with filters into each input bus, so nothing there should be causing issues.
Let me know if this helps at all.
P.S. I should note that this happened when I was using the release version that is currently out, not just when I was on the dev version (which I only updated to yesterday).
P.P.S. I also attempted to break the entire structure, then rebuild it in the exact same spot. It did not work. When I moved it to another spot, it worked. I'm just baffled.
P.P.P.S. If I break the controller of an assembly line next to the one that is broken, it will reform the broken one, and when I replace the controller, that new line is now broken. It will then swap infinitely if I continue to break and replace the controllers.
P.P.P.P.S. It seems like it's a proximity issue. I moved a few of the lines a couple blocks away from the others, and they suddenly reformed, but any assembly lines that are within 4 blocks of another line, measured the long way (from the front to the back), will not form properly (despite forming properly when I initially built them).
Could you share some screenshots showing a bit more around where your un-forming Assembly Lines are?
The things that I can think of that could affect it are crossing a chunk boundary and one of the chunks becoming unloaded, crossing a region boundary (much less likely), and perhaps another multiblock being built within the non-block bounding box region of the ALs (though that doesn't seem to be the case).
It seems you figured this out independently.
Interesting problem but it makes sense why it was happening. The controllers search back the potential maximum length of the structure looking for AL slices, and if they find validly formed slices with an "invalid" region in between (the output hatch slice / air) the controller thinks the other AL slices are part of the structure you're building.
The workaround would be to not set up the ALs back-to-back like that, or if you do, put them sufficiently far apart that their structural bounding boxes don't overlap (or put them face-to-face rather than back-to-back). This might be something we could fix in SoG, but we'd have to look into it.
This bug stems from the multiblock matching mechanic that checks the maximum possible boundary of the multiblock and dies immediately if it finds a different controller. Nothing can really be done aside from not putting assembly lines directly behind non-full-length assembly lines.