Page 1 of 1

Option to Lock Power Poles Against Auto-connection

Posted: Wed Nov 04, 2020 11:24 pm
by macdjord
TL;DR
It's way too easy to accidentally make a connection between two power networks that were supposed to be separate; let's add an option that lets you 'lock' a power pole so that other poles cannot automatically connect to it.

What ?
  • Power poles and substations get an interface with a checkbox saying '[ ] Prevent automatic wire connections'
  • When this checkbox is checked, other power poles built around it will never automatically create wire connections to it, nor will a pole with this option set when built auto-connect to other poles
  • Setting this does not affect existing connections, and new connections to a locked pole can be created manually with a unit of copper wire or by pasting a blueprint that includes a connection from that pole (thank you, FFF #362!)
  • There needs to be a shortcut for changing the locked/unlocked status of a pole without opening its interface GUI
    • Allowing locked/unlocked status to be copied and pasted with shift-right-click and shift-left-click would work. However, this would conflict with the use of shift-clicking on a pole to remove all existing cable connections from it. One option would be to disable the 'shift-click a power pole to remove all connections' functionality when the player has a power pole's locked/unlocked status in their shift-right-click buffer, but that could lead to confusing errors since the contents of the buffer remain until you shift-right-click something else and there's no visible feedback on what's currently in it; a player could copy a power pole, then, 5 minute later, shift-click a power pole expecting to remove its connections and be confused when it doesn't work.
    • Another option would be to add a keyboard shortcut which modifies a pole you are currently pointing the cursor at. You could either have one shortcut which toggles or two which lock and unlock; the second option would be better since it makes it easier to lock or unlock all of a bunch of power poles.
    • Yet another option would be to add a new tool which can be applied over an area to change the settings, similar to the upgrade planner (or even as a new feature of the upgrade planner). Since such a tool would have its own dedicated GUI instead of using key combinations in the main game, it could support set, clear, and toggle operations, as well as being able to be filtered to only apply to a particular type of pole.
    • Another useful utility would be the ability to lock or unlock all poles in a given power network at once (note that for this purpose, poles connected by a power switch would not count as being in the same network, even if the switch is currently closed)
  • There needs to be feedback indicating a pole is locked
    • Minimalist option: A semi-transparent grey padlock icon overlaying the pole
    • Optional stretch goal: An alternate sprite for the pole itself
  • In the power networks overlay of the map view, locked poles are marked with a different coloured dot than normal poles
  • Optional stretch goal: if you auto-build new poles by clicking and dragging from an existing locked pole:
    • The first new pole created will be connected to the existing pole you started on
    • Each subsequent pole will be connected to the previous one
    • All the newly created poles will have the locked setting set and will not auto-connect to any poles except the previous one, even if they are in range to do so.
    Why ?
    There are times in Factorio where it's valuable to make multiple, distinct power networks, e.g. so a power-hungry production line can be shut down when needed using a power switch, to connect a reserve steam or nuclear generator when your primary power source isn't sufficient, or to ensure a power plant satisfies its own power needs fully (and thus maintain full power output) even in the event of a brownout of the main grid. However, while you can build these isolated networks without too much trouble, it's damnably easy to accidentally create a connection between them and your main grid later on with just a single stray power pole. (This is particularly an issue with nuclear power plants, where the plant network may need to extend a fair distance in order to cover any pumps on the incoming water pipes, while right nearby is the main turbine array which needs to be connected to the main electrical grid.)

    There have been suggestions before about fixing this issue using coloured power poles or network masks to create explicitly defined separate networks that will refuse to connect to each other. However, those are overkill for most purposes, and also have the limitation of only handling a finite number of distinct networks.

    This suggestions is based around the observation that most of the time, isolated networks are static; generally, such networks are built in an isolated area, then pruned of any unwanted connections and subsequently left alone; rarely does one need the ability to organically add new power poles to them. The primary issue is that it's easy to accidentally build a pole later on which bridges the isolated and main networks without noticing, with a secondary concern that it would sometimes be convenient to be able to build main-network stuff near to the isolated network, or build two isolated networks in close proximity, without spending a lot of time manually disconnecting unwanted connections. Thus, being able to 'freeze' a network after it is built is sufficient.

    The advantages of this system are that, once an isolated network is locked, accidental connections to it become impossible, and you can build poles connected to other networks near or even inside it without any extra effort. If using a blueprinted design, one can even build an isolated network inside your main base rather than in an isolated area.

    (There are, admittedly, times when it would be genuinely useful to be able to designate two distinct networks and then build poles that will auto-connect to one network but not the other, such as when building accumulator arrays to allow rate-limited flow between two power networks, or if you need to build an isolated network inside your main base and don't have the option of designing it in a remote location first and then copying it in by blueprint. But these are, I feel, too rare to justify a more complex solution.)

Re: Option to Lock Power Poles Against Auto-connection

Posted: Thu Nov 05, 2020 12:02 am
by NotRexButCaesar
this sounds like it might be useful.

Re: Allow disabling of power pole auto-connect in clipboard and blueprints

Posted: Thu Nov 05, 2020 6:53 am
by Koub
[Koub] Merged into older topic with same, or very similar suggestion.

Re: Allow disabling of power pole auto-connect in clipboard and blueprints

Posted: Thu Nov 05, 2020 2:23 pm
by macdjord
@Koub: These suggestions are not the same and should not be merged. @Squelch's suggestion is about disabling auto connect temporarily when pasting a blueprint, and is largely solved by the changes to blueprints mentioned in FFF #362. Mine is about persistently locking specific power poles to prevent accidental connections when placing other poles later on.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Sat Nov 07, 2020 10:09 am
by ssilk
Re-splited topic — ssilk

This reminds me - with the tool to change some poles and some visible display - to my suggestion: viewtopic.php?f=6&t=89065 Control Power Connections by Colored Power Poles (revisited)
Ah, I see you already linked it.

Some things I also see here:
- the restriction to not connect to any other pole comes handy with the new next version, that stores the pole connections in a blueprint. Really simple implementation. I like that aspect.
- I see problems if you want to expand an area by duplication. Poles won’t connect. Need to unlock first. Source of possible player frustration.
- It is not so easy to understand why some pole will not connect to another pole and what will happen then. This: will not connect, because it is locked. I need to unlock it and then lock it again. It is not clear what will happen, when I unlock it. In comparison: With colored poles just change the color, so that both colors match. Same with network masks.
- And just as note: you don’t need endless numbers of areas, in practice two extra “networks” can handle 99% of all cases and the rest can be worked around.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Sat Nov 07, 2020 11:16 am
by Koub
ssilk wrote: Sat Nov 07, 2020 10:09 am Re-splited topic — ssilk
Thanks Ssilk, and sorry @all for the misunderstanding. I admit there are so many variations of " I want to control where power poles connect and don't that I have hard time telling some apart.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Sun Nov 08, 2020 6:54 am
by macdjord
ssilk wrote: Sat Nov 07, 2020 10:09 am - I see problems if you want to expand an area by duplication. Poles won’t connect. Need to unlock first. Source of possible player frustration.
Actually, no, you don't need to unlock them. As I specified, you can still connect to a locked pole by running a wire manually. If you've already got a complete network from a blueprint, one manual connection to the rest of the network is all you need.
ssilk wrote: Sat Nov 07, 2020 10:09 am - It is not so easy to understand why some pole will not connect to another pole and what will happen then. This: will not connect, because it is locked. I need to unlock it and then lock it again. It is not clear what will happen, when I unlock it. In comparison: With colored poles just change the color, so that both colors match. Same with network masks.
I could ask the same about colours. Okay, so I built my new expansion using blue power poles, and now I want to connect it to my main network which uses green poles. If I change one of the poles in the expansion to green so I can connect to it, what happens to the connections between it and the rest of the blue poles?

Also, what about duplication? If I have a blueprint for, say, a nuclear reactor with its own local power grid, I don't want that grid to connect to anything else, not even other copies of the same blueprint.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Sun Nov 08, 2020 8:33 am
by ssilk
Wiring manually: I cannot speak for other player, but I think that this is a process, that can get very tedious soon. In my eyes wiring power should be done only in special cases, especially when connecting the power switch. Almost everything else should wire up automatically.

Blue/green poles foo: when I don’t need a separation why should I use colored poles? We need such differences only when we want to separate electric networks. (Or are there other use cases?) The idea with the colors is: you have more ore less one “main network” (like now) and now you separate some switched networks with colors. The case you described will not happen under normal circumstances.

Nuclear reactor: that’s a very rare case. What is more common is to expand a smelter line for example. And there I don’t want to connect the wires by hand...


What I already said is, that this one is much more in coherence with the coming blueprint-changes. It would make sense to have such a flag on blueprinted poles. And. You can remove the flag by hand-wiring.
...

Re: Option to Lock Power Poles Against Auto-connection

Posted: Sun Nov 08, 2020 6:47 pm
by NotRexButCaesar
ssilk wrote: Sun Nov 08, 2020 8:33 am Wiring manually: I cannot speak for other player, but I think that this is a process, that can get very tedious soon. In my eyes wiring power should be done only in special cases, especially when connecting the power switch. Almost everything else should wire up automatically.
You could also have them connect in a specific place by overlapping one pole in the blueprint.
ssilk wrote: Sun Nov 08, 2020 8:33 am Nuclear reactor: that’s a very rare case. What is more common is to expand a smelter line for example. And there I don’t want to connect the wires by hand...
Then don’t select the option?

Re: Option to Lock Power Poles Against Auto-connection

Posted: Mon Nov 09, 2020 6:58 am
by ssilk
@AmericanPatriot overlapping pole: good point. I still don’t like it, because you need to select more parts. For example for a simple smelter setup I need to copy/paste 3 smelters instead of 2.

Don’t select the option: that’s exactly what I would like to avoid wth the colored networks. I want to fire and forget. In the case of a power plant I want to separate the whole power plant. Nicely displayed on map: this is an extra network. So I can place big poles through the whole setup, without fearing, that it connects anywhere. I won’t to micromanage single poles. I don’t want to think about the single poles.

This is a good idea, I like it, because it would solve a problem with the coming blueprint changes.

And what I now realized is, that the colored poles idea can exist independently from this one. They are not in concurrence to the other.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Mon Nov 09, 2020 2:16 pm
by macdjord
ssilk wrote: Sun Nov 08, 2020 8:33 am Wiring manually: I cannot speak for other player, but I think that this is a process, that can get very tedious soon. In my eyes wiring power should be done only in special cases, especially when connecting the power switch. Almost everything else should wire up automatically.
I agree. Special cases like, say, connecting two networks that were designed to be isolated together.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Wed Nov 25, 2020 9:49 pm
by Squelch
macdjord wrote: Thu Nov 05, 2020 2:23 pm @Koub: These suggestions are not the same and should not be merged. @Squelch's suggestion is about disabling auto connect temporarily when pasting a blueprint, and is largely solved by the changes to blueprints mentioned in FFF #362. Mine is about persistently locking specific power poles to prevent accidental connections when placing other poles later on.
Absolutely, and that suggestion is pretty much covered by the recent 1.1 changes now except for one small niggle with how the stack interacts with existing poles and would also have a direct impact on this suggestion[1.1.1] Power Pole connections saved in Blueprints lead to pseudo random connection behavior.
ssilk wrote: Sat Nov 07, 2020 10:09 am Re-splited topic — ssilk[
Thanks for that. I had a notification for the post, but saw no changes there. It seems it was the move :)

Re: Option to Lock Power Poles Against Auto-connection

Posted: Thu Nov 26, 2020 5:42 am
by ssilk
To be honest I feared that exactly something like that would happen, when it first was proposed, but as I could not explain the case (you need a video to showcase it) and those stuff is normally part of the Factorio development, so I didn’t say anything and thought I will wait and see. 8-)

When I read the bug report I think a fix is on the way. So I just will continue with that. :)

And I saw a link to another suggestion about this topic
Allow disabling of power pole auto-connect in clipboard and blueprints

Poles without autowiring

Posted: Fri Apr 16, 2021 1:49 pm
by TheoMarque
Please, add new method to place a pole, substation without autowiring.

For example build some logic network and using red and green wires but copper cables still messing around if I not need this (using substations). Wires are everywhere. Of course, I can use SHIFT + LMB but if I add one more pole - i do it again, again, again.
For example, CTRL+ LMB if You placing pole - placing pole without autowiring. CTRL + SHIFT + LMB -> ghost entity without autowiring after built. In Blueprints - checkbox to allow or disallow autowiring. Tool from toolbar is can be enough (cut wires in rectangle) but need select a wire type to cut. Maybe - configurable in upgrade planner?

Re: Poles without autowiring

Posted: Sat Apr 17, 2021 6:22 am
by ssilk
Why do you need that? I don’t see any use, as you explained, you can place a pole without wiring.

Re: Poles without autowiring

Posted: Sat Apr 17, 2021 10:30 pm
by TheoMarque
How to do it?
No one can help me to build a pole without copper cables (without cutting this after built)

Re: Poles without autowiring

Posted: Sun Apr 18, 2021 4:15 am
by darkfrei

Re: Poles without autowiring

Posted: Sun Apr 18, 2021 5:24 am
by ssilk
merged with existing thread
TheoMarque wrote: Sat Apr 17, 2021 10:30 pm How to do it?
No one can help me to build a pole without copper cables (without cutting this after built)
You need to make a large distance between your builds you want to separate power, to avoid such connections. Or use blueprints to build poles. I’m sorry.

I was a bit unsatisfied when the feature with building unconnected poles in blueprints was introduced, because it does zero to solve the problem how to build such things for the first time.

Re: Option to Lock Power Poles Against Auto-connection

Posted: Fri Nov 15, 2024 3:59 am
by jamiechi1
I have been using code based on Darkfrei's mod as mentioned above. It was Quite Useful.
Now with the recent Factorio 2.0.7 update, this mod is now broken.
-- Removed LuaEntity::neighbours support for electric poles and power switches.
-- Removed LuaEntity::connect_neighbour and LuaEntity::disconnect_neighbour.

This was really helpful, when I need to deal with just red and green wires for circuits, and to keep one power separate from another when using the Power Switch to enable or disable with a circuit condition.

Basically I used this to disable the Solar Power network, when I had a certain amount of Nuclear power. Since once Nuclear power start up, I wanted Nuclear Power to have a higher priority than Solar Power.
Which we all know that Solar Power priority cannot be changed and is always the highest.

There needs to be some way to do this in Factorio 2. Maybe giving us the option to make Solar Secondary or Tertiary.

More info - code from one of my mods:

-- Power Priority
----------------- -------
-- solar highest
-- primary-output, primary-input
-- secondary-output, secondary-input
-- tertiary
-- lamp lowest

-- nuclear power set to hightest possible - still working in Factorio 2?
data.raw.generator["steam-turbine"].energy_source.usage_priority = 'primary-output'

--bugbug
-- really wish this would work - does not work - Solar power set to highest priority
--data.raw["solar-panel"]["solar-panel"].energy_source.usage_priority = "secondary-output"