fezhub / DSP-Mods

Dyson Sphere Program Mods
GNU Lesser General Public License v2.1
43 stars 11 forks source link

Only first inserter built when chaining Power Stations via AdvancedBuildDestruct #31

Closed jim-hart closed 3 years ago

jim-hart commented 3 years ago

When creating a chain of power stations using AdvancedBuildDestruct, only the first inserter is built while the rest are not (they show up in the build preview though).

In the rough diagram below, take P as a power station and -> as an inserter going from the left to the right. In this example I am attempting to create three new power stations all connected by inserters:

initial : P -> P 
expected: P -> P -> P -> P -> P
actual  : P -> P -> P    P    P

For reference, I am copying the far right power station and it's connected inserter, so something like -> P

This seems to be a new issue with 1.6; I rolled back to 1.5 and the inserters were built as expected.

fezhub commented 3 years ago

~~Are you able to provide any screenshots Jim? I've just tested this on 1.6 and it's working as expected for me with thermal power stations. You should see the preview inserters colored blue if they are in the correct position when placing the building.~~

fezhub commented 3 years ago

Sorry I completely glossed over the AdvancedBuildDestruct part of your comment. I can reproduce the issue, but it looks like the spacing between the stations isn't right when using ABD in this way..

jim-hart commented 3 years ago

Yep this is more and ABD issue as the first copy is placed correctly. It looked like a spacing issue from my end as well; I was placing them closer to (but not on top of) the poles going east/west. I haven't tried dropping them near the equator yet where spacing is a bit more predictable.

brokenmass commented 3 years ago

@jim-hart . Just found out about this today. I have a simple , one line fix. Will send you a pr soon. Also to make your example working you have to use multibuild mod instead of abd otherwise the spacing between generators will be incorrect.

@fezhub the issue is caused by the positions cache as it should recalculate the otherId parameter at build time as new prebuilds have just been created. The fix disable the cache for the afterPrebuild postfix

fezhub commented 3 years ago

Fixed in 1.7