Even when close enough to direct connect, I like to run my red/green wires along electricity poles for assorted reasons.
I have noticed that if I cut a pole with connections, those connections then reform directly where possible. However when I re-paste the pole, the new connections remain in addition to the connections to the pole, meaning I now have duplicate connections
Before:
After cutting the pole - with clipboard ghost:
After cutting the pole - without clipboard ghost:
After pasting the ghost into a new position:
This can make ongoing maintenance of things connected quite troublesome, especially in densely-packed spaces with lots of connections.
Ideally, the connections would only be reinstated after placing backdown the cut pole, and then only to the pole itself.
Cut of electric pole re-routes circuit connections
Re: Cut of electric pole re-routes circuit connections
Thanks for the report. You described how a feature works, one that was already described in https://factorio.com/blog/post/fff-379. Not a bug.
Re: Cut of electric pole re-routes circuit connections
Thanks for the quick response. I had a re-read of the FFF to refresh my memory.
However I feel my my use-case is different to that covered in the FFF: my issue is about object-to-pole rewiring to object-to-object wiring when the pole was previously the only common object. This results in a lot of excess wiring with the object-to-object wiring in addition to the object-to-pole wiring once the pole is replaced, amplified by the object-to-object wiring making as many connections as possible.
For example this:
All well and good. But if I cut the pole I get this:
Which has every display connected to some - but not all - of the others. For example, 1 connects to 2, 4 and 5, or 2 connects to 1, 3 and 5. There's probably a pattern to it, but I don't know what.
If I then add the pole back in, I have connections all over the place:
This can make redesigns very tedious, unless I want to leave a lot of excess wiring laying around...which then makes troubleshooting tedious as I have to check all of the wiring is how I originally laid it out and hasn't actually gained new connections when I moved a pole around.
Diving into this further, this object-to-object rewiring only happens when the last pole connecting the objects is removed. For example, if I have this:
I can cut either pole without any object-to-object rewiring:
When I put the pole back, all the red and green wire connections are back to how they were:
I say red and green wires because in this scenario I now get a copper wire turn up between the two poles. I'm not thrilled about this either to be honest - the pole didn't have a copper wire beforehand, why should it have one now? It was able to remember that it had a green wire to the other pole, so there's some memory in effect here, but I don't want to have to go and remove copper wires I didn't have beforehand.
What's most irritating is this is only really a problem in pure vanilla - if I use the Even Pickier Dollies mod I can shuffle poles around without any of these problems. But then I don't get achivements.
However I feel my my use-case is different to that covered in the FFF: my issue is about object-to-pole rewiring to object-to-object wiring when the pole was previously the only common object. This results in a lot of excess wiring with the object-to-object wiring in addition to the object-to-pole wiring once the pole is replaced, amplified by the object-to-object wiring making as many connections as possible.
For example this:
All well and good. But if I cut the pole I get this:
Which has every display connected to some - but not all - of the others. For example, 1 connects to 2, 4 and 5, or 2 connects to 1, 3 and 5. There's probably a pattern to it, but I don't know what.
If I then add the pole back in, I have connections all over the place:
This can make redesigns very tedious, unless I want to leave a lot of excess wiring laying around...which then makes troubleshooting tedious as I have to check all of the wiring is how I originally laid it out and hasn't actually gained new connections when I moved a pole around.
Diving into this further, this object-to-object rewiring only happens when the last pole connecting the objects is removed. For example, if I have this:
I can cut either pole without any object-to-object rewiring:
When I put the pole back, all the red and green wire connections are back to how they were:
I say red and green wires because in this scenario I now get a copper wire turn up between the two poles. I'm not thrilled about this either to be honest - the pole didn't have a copper wire beforehand, why should it have one now? It was able to remember that it had a green wire to the other pole, so there's some memory in effect here, but I don't want to have to go and remove copper wires I didn't have beforehand.
What's most irritating is this is only really a problem in pure vanilla - if I use the Even Pickier Dollies mod I can shuffle poles around without any of these problems. But then I don't get achivements.
Re: Cut of electric pole re-routes circuit connections
Just to add, and this is what really grinds my gears...undo doesn't actually undo in this situation. If I cut/delete the pole and then hit ctrl-Z, I still have to go and unpick all the extra connections that turned up.
Re: Cut of electric pole re-routes circuit connections
It also just occurred to me to test from the other direction, and see what happens if I cut/paste the objects, not the poles:
This works exactly as anticipated, with connections respected as-is.
This remains true for partial cut only containing objects:
But once a partial cut contains the pole, the objects not in the cut gain excess connections again - 3 to 4, 4 to 5. Not, curiously, 3 to 5:
Multi-pole setups continue to work consistently with previous observations
This works exactly as anticipated, with connections respected as-is.
This remains true for partial cut only containing objects:
But once a partial cut contains the pole, the objects not in the cut gain excess connections again - 3 to 4, 4 to 5. Not, curiously, 3 to 5:
Multi-pole setups continue to work consistently with previous observations
-
- Burner Inserter
- Posts: 5
- Joined: Fri Aug 12, 2016 8:01 pm
- Contact:
Re: Cut of electric pole re-routes circuit connections
tl;dr I disagree with the feature as designed, but setting that aside Undo and Redo should at least undo and redo the connections created.
Really annoyed with this feature. I was originally thinking it was a bug, but had the sneaking suspicion that it might be intended behavior. I really don't see any situations where a player would want 'cut' to change entities located outside of said cut. I understand the idea behind the reconnection, and in simple cases such as a long continuous line of wire it makes total sense and is just a QOL feature. But I have 2 grievances with the current application of this principle:
I don't think this is something that is likely to change. I accept that. It's more of a design choice.
What I do think is more objective is that Undo and Redo should respect the connections made this way. We already have wire connections/disconnections tracked in the undo stack, so I see no reason why these additional wires created by the cut shouldn't apply in the same way. Taking an action and then undoing that action, and having changes persist, is incredibly unintuitive.
So please devs, consider adding undo/redo support as an enhancement. Not sure if I should create a feature request for that; I'll try to find any duplicates.
Other potential changes that would be helpful:
Really annoyed with this feature. I was originally thinking it was a bug, but had the sneaking suspicion that it might be intended behavior. I really don't see any situations where a player would want 'cut' to change entities located outside of said cut. I understand the idea behind the reconnection, and in simple cases such as a long continuous line of wire it makes total sense and is just a QOL feature. But I have 2 grievances with the current application of this principle:
- Any reasonably complex circuit network application will quickly diverge from this trivial case. There are going to be multiple wires connecting to multiple entities, so adding superfluous connections that were not initiated by the player creates a lot of visual noise and makes it exponentially harder to work with as the flow of data is increasingly obfuscated.
- I understand that it mimics the behavior of copper wire; but if this concept were to be logically extended, we would expect a new entity to automatically connect to nearby entities, with both red and green wires, because that's how power poles work with copper cable. This would obviously be silly.
I don't think this is something that is likely to change. I accept that. It's more of a design choice.
What I do think is more objective is that Undo and Redo should respect the connections made this way. We already have wire connections/disconnections tracked in the undo stack, so I see no reason why these additional wires created by the cut shouldn't apply in the same way. Taking an action and then undoing that action, and having changes persist, is incredibly unintuitive.
So please devs, consider adding undo/redo support as an enhancement. Not sure if I should create a feature request for that; I'll try to find any duplicates.
Other potential changes that would be helpful:
- (Pretty sure this is impossible) Entities remove the extra wire IF the original common connecting entity is pasted within range of both. I think this can't be done since it would require storing extra info about entities outside of the blueprint. Two entities that see something being pasted nearby would need to know somehow whether they were connected before a cut or connected in an unrelated way.
- Disable the extra wire behavior for CUT only, and keep it for manual deconstruction. This one has some ugly inconsistencies between different methods, but generally manually deconstructing communicates that the player wishes for the entity to be gone (permanently); whereas cutting communicates that the player wishes to MOVE the selected entities. The implication being that there is no need to connect orphaned chains since the entity is not actually being removed in the long run. Just relocated.