Create module request when placing ghost over existing building
Moderator: ickputzdirwech
-
- Filter Inserter
- Posts: 464
- Joined: Tue Jun 28, 2016 2:07 pm
- Contact:
-
- Fast Inserter
- Posts: 187
- Joined: Fri Jan 05, 2018 5:18 pm
- Contact:
Re: Superimposing moduled blueprint onto unmoduled entities
Sounds like a good improvement. If you're stuck in the meantime not wanting to update tons of machines, this mod can help:
https://mods.factorio.com/mods/Choumiko/ModuleInserter
https://mods.factorio.com/mods/Choumiko/ModuleInserter
QoL for ghost mode, copy-paste and blueprint placement
TL;DR
Building in ghost-mode and placing blueprints should be able to upgrade or convert similar existing entities to more closely match the ease of use of direct building.What ?
When ghost-building, cut/copy-pasting or placing a blueprint on top of an existing ghost:- Always allow upgrading similar entities (i.e. eastbound yellow belt ghost to eastbound red belt ghost);
- Hold SHIFT to also convert compatible entities (i.e. overwrite a belt ghost direction, or put a splitter ghost onto an existing belt ghost, just like is allowed when direct building);
- Hold CTRL+SHIFT to also replace conflicting entities (i.e. delete any other non-upgradable, non-convertible ghosts that are in the way of the new ghosts).
- Leave the default behavior unchanged (allow only when all overlaps are exact matches or entirely new entities);
- Hold SHIFT to upgrade similar entities (i.e. flag assembler 1s for in-place upgrade to assembler 2s, just like the upgrade planner);
- Hold CTRL+SHIFT to force-build by converting compatible entities (i.e. flag a belt for deconstruction and put a splitter ghost there) and replacing conflicts (i.e. flag a pair of underground belts for deconstruction and put a machine ghost there, perhaps because the blueprint also upgraded the belts and they reach further underground now).
Specifics on terms used above
Why ?
Direct entity placement is currently very smooth and intuitive: you can build different variations of inserters, belts, pipes, poles, assemblers, etc directly on top of existing ones (i.e. red belt on existing yellow belt, blue inserter on existing yellow inserter, etc), even loosely out-of-type in some cases (i.e. red belt on existing yellow underground, red splitter on existing yellow belt but only in the same orientation).Ghost-mode and blueprint placement, however, is significantly more clumsy and counter intuitive. You can't ghost-build (or place a blueprint of) a red belt on top of an existing yellow underground, or on top of an existing yellow belt, or even on top of the ghost of a yellow belt; in fact, you can't even ghost-build a yellow belt on top of the *ghost* of a yellow belt in order to change its orientation. This restrictiveness is supremely irritating and a common pain point for many players as they gain mastery of the game and move into using ghosts and blueprints, as evidenced by the many times these same features have been requested in the past going back over three years.
The goal of this thread is to refine the comments from those earlier threads into a comprehensive proposal that would vastly improve quality of life for ghost mode, copy-paste and blueprint usage, without introducing unexpected behavior that might disrupt existing workflows.
Further thoughts below, hidden to avoid scaring folks with too many words
And... that's all I guess. Discuss!
Last edited by taleden on Mon Nov 16, 2020 3:05 pm, edited 2 times in total.
- NotRexButCaesar
- Smart Inserter
- Posts: 1133
- Joined: Sun Feb 16, 2020 12:47 am
- Contact:
Re: QoL for ghost mode, copy-paste and blueprint placement
Sounds nice, but it probably won't be added: very similar things have been suggested in the past(I'm sure ssilk will add some links in a little while)
Ⅲ—Crevez, chiens, si vous n'étes pas contents!
Re: QoL for ghost mode, copy-paste and blueprint placement
Pffffffff. I respect the details and completeness in this suggestion, but as moderator I would like to help.
First I recommend reading the sticky threads; how to write good suggestions. Because this one is too long and too detailed. I try to explain, taleden: you are not implementing this. If this would be a chair you want to have built from a carpenter, you describe how to hold him the saw.
Another thing: you try to solve a very complex subject by mixing three different suggestions. Try to separate the problems into small and simple suggestions.
And AmericanPatriot said it already: lots of other suggestions.
viewtopic.php?f=6&t=59554 Hotkey to replace existing structures with blueprint
viewtopic.php?f=6&t=88691 Better Blueprint Placement
viewtopic.php?f=6&t=84697 Better UX for placing, removing, and configuring ghost structures
viewtopic.php?f=6&t=80563 mark-for-upgrading when blueprinting over fast-replaceable entities
viewtopic.php?f=6&t=47993 Allow Fast Replace using blueprints
Similar discussions:
viewtopic.php?f=6&t=83149 [UPD] Rail planner is practically broken around your base
And my current opinion about that is this: all the suggestions show that there is an issue. They describe different solutions. The implementation is not in our hands and in this case I would like wube to choose one or the ones they like to implement.
First I recommend reading the sticky threads; how to write good suggestions. Because this one is too long and too detailed. I try to explain, taleden: you are not implementing this. If this would be a chair you want to have built from a carpenter, you describe how to hold him the saw.
Another thing: you try to solve a very complex subject by mixing three different suggestions. Try to separate the problems into small and simple suggestions.
And AmericanPatriot said it already: lots of other suggestions.
viewtopic.php?f=6&t=59554 Hotkey to replace existing structures with blueprint
viewtopic.php?f=6&t=88691 Better Blueprint Placement
viewtopic.php?f=6&t=84697 Better UX for placing, removing, and configuring ghost structures
viewtopic.php?f=6&t=80563 mark-for-upgrading when blueprinting over fast-replaceable entities
viewtopic.php?f=6&t=47993 Allow Fast Replace using blueprints
Similar discussions:
viewtopic.php?f=6&t=83149 [UPD] Rail planner is practically broken around your base
And my current opinion about that is this: all the suggestions show that there is an issue. They describe different solutions. The implementation is not in our hands and in this case I would like wube to choose one or the ones they like to implement.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: QoL for ghost mode, copy-paste and blueprint placement
I realize that my attempt at a thorough explanation of the suggestion got a little wordy, but I don't think it's that complicated when you break it down into its component pieces -- all it comes down to is recognizing the four levels of similarity/difference between what the player is trying to place vs what's already there, and offering a few reasonable options (using modifier keys like SHIFT, which are already used this way) for which levels to allow/handle (just like is already done for trees). That's all.
I also disagree that it's mixing different suggestions; the unifying principle is that right now, ghost placement behaves differently than direct building in ways that are awkward and counter intuitive, and there doesn't seem to be any good reason for that other than nobody's ever bothered to go back and make ghost building as slick and easy as direct building now is. But this seems like a good time to bring it up again, since 1.1 seems to be all about QoL improvements, many of which relate to (in my view) much smaller and less noticeable edge cases than ghost/blueprint placement, which is something almost every player deals with quite frequently.
There are even a few aspects of the current behavior that verge on being bugs, or at least very surprising. For example, if you copy a factory and go to paste it over another existing factory, the preview will be blue as if it's an exact match and so pasting will have no effect. And yet if you click to paste anyway, it will cause the existing factory to change its recipe to match what you copied. This can get even more troublesome with things like combinators; if you pull up a big blueprint to check it against what you have built, it may look like a match (all blue) even if some combinator logic differs, and pasting will overwrite all that combinator logic without warning.
I have also read all of the prior threads you linked -- in fact if you notice, I also linked them in my post -- and I cite them as evidence that these issues have been bugging a number of folks for quite some time (over three years since the oldest of them). But one thing I noticed in those threads is that they tended to devolve either into folks objecting to the deconstruct behavior as a default (because of course you don't always want that), or else folks getting into complicated changes to blueprints themselves (extra layers, extra settings, etc), or folks just misunderstanding what was being suggested
So my goal with this thread was to sketch out a logically consistent and straightforward way to smooth out all the interactions related to ghost placement without significantly changing default behaviors and without requiring any changes to blueprints themselves. In fact, all of the functionality to implement this scheme already exists: the deconstruction planner can already flag things for removal, and new ghosts can be placed over flagged entities before they're even removed; the upgrade planner can already flag things for replacement, and the new entity will inherit any configuration from the old; the blueprint placement process already scans tile-by-tile for conflicts to tint them red and block the placement; and blueprint placement can already check for SHIFT, turn certain conflicts (i.e. trees) from red to green and flag them for deconstruction before placing. So all that's required is to perform those conflict tests with a little more granularity (four possibilities -- matching, upgradable, convertible, conflicting -- rather than only matching and conflicting) and, if SHIFT and/or CTRL are pressed, invoke the flags for upgrade or deconstruction as needed.
I also disagree that it's mixing different suggestions; the unifying principle is that right now, ghost placement behaves differently than direct building in ways that are awkward and counter intuitive, and there doesn't seem to be any good reason for that other than nobody's ever bothered to go back and make ghost building as slick and easy as direct building now is. But this seems like a good time to bring it up again, since 1.1 seems to be all about QoL improvements, many of which relate to (in my view) much smaller and less noticeable edge cases than ghost/blueprint placement, which is something almost every player deals with quite frequently.
There are even a few aspects of the current behavior that verge on being bugs, or at least very surprising. For example, if you copy a factory and go to paste it over another existing factory, the preview will be blue as if it's an exact match and so pasting will have no effect. And yet if you click to paste anyway, it will cause the existing factory to change its recipe to match what you copied. This can get even more troublesome with things like combinators; if you pull up a big blueprint to check it against what you have built, it may look like a match (all blue) even if some combinator logic differs, and pasting will overwrite all that combinator logic without warning.
I have also read all of the prior threads you linked -- in fact if you notice, I also linked them in my post -- and I cite them as evidence that these issues have been bugging a number of folks for quite some time (over three years since the oldest of them). But one thing I noticed in those threads is that they tended to devolve either into folks objecting to the deconstruct behavior as a default (because of course you don't always want that), or else folks getting into complicated changes to blueprints themselves (extra layers, extra settings, etc), or folks just misunderstanding what was being suggested
So my goal with this thread was to sketch out a logically consistent and straightforward way to smooth out all the interactions related to ghost placement without significantly changing default behaviors and without requiring any changes to blueprints themselves. In fact, all of the functionality to implement this scheme already exists: the deconstruction planner can already flag things for removal, and new ghosts can be placed over flagged entities before they're even removed; the upgrade planner can already flag things for replacement, and the new entity will inherit any configuration from the old; the blueprint placement process already scans tile-by-tile for conflicts to tint them red and block the placement; and blueprint placement can already check for SHIFT, turn certain conflicts (i.e. trees) from red to green and flag them for deconstruction before placing. So all that's required is to perform those conflict tests with a little more granularity (four possibilities -- matching, upgradable, convertible, conflicting -- rather than only matching and conflicting) and, if SHIFT and/or CTRL are pressed, invoke the flags for upgrade or deconstruction as needed.
Re: QoL for ghost mode, copy-paste and blueprint placement
Well, let me say it so: as moderator, which wants to bring up as many suggestions into the game I love, I like the completeness of this suggestion. I don’t like the length, because the devs tend to ignore those wall-of-text-posts. It could be expressed much with less words. That’s my concerns with this suggestion.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: QoL for ghost mode, copy-paste and blueprint placement
I've edited to more closely conform to your preferred template, and to hide the clarifying discussions from folks who are afraid of words. As is hopefully clearer at a glance now, the meat of the proposal is really not long or complicated; all the clarifying definitions and examples were only intended to avoid some of the confusion and misunderstandings that I saw derail earlier threads on this subject.
Re: QoL for ghost mode, copy-paste and blueprint placement
Looks much better now.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Create module request when placing ghost over existing building
When the ghost of a building with some modules is placed over an existing building without modules, the modules are not scheduled for placement. Normal placement of such a ghost is not prohibited. If the ghost is placed on an empty space the modules are scheduled and then inserted into the newly created building.
This behavior is inconsistent and can be considered as a bug because:
1. A user would expect a ghost placed in normal mode to be executed in full.
2. No prohibition warning is issued in normal placement mode
3. Placing the module-containing ghost upon empty space and over existing building behaves differently
Steps to reproduce:
1. Manually place electric furnace
2. Manually fill it with efficiency modules.
3. Cut the furnace with modules.
4. Wait until robots remove furnace with modules
4. Press Q to postpone ghost placement.
5. Manually place another electric furnace.
6. Paste the ghost with modules over the furnace.
What happens:
Nothing
What is expected to happen:
Request for modules on the existing building
This behavior is inconsistent and can be considered as a bug because:
1. A user would expect a ghost placed in normal mode to be executed in full.
2. No prohibition warning is issued in normal placement mode
3. Placing the module-containing ghost upon empty space and over existing building behaves differently
Steps to reproduce:
1. Manually place electric furnace
2. Manually fill it with efficiency modules.
3. Cut the furnace with modules.
4. Wait until robots remove furnace with modules
4. Press Q to postpone ghost placement.
5. Manually place another electric furnace.
6. Paste the ghost with modules over the furnace.
What happens:
Nothing
What is expected to happen:
Request for modules on the existing building
- Attachments
-
- factorio-current.log
- (5.54 KiB) Downloaded 137 times
Re: [1.1.5] Placing ghost over existing building does not place modules
That's currently working as intended. Moving to ideas and suggestions.
If you want to get ahold of me I'm almost always on Discord.
Re: [1.1.5] Placing ghost over existing building does not place modules
I've been using Module Inserter to get modules installed into accepting entities. Once they're there, I believe you can use the upgrade planner to swap between modules if you wish.
However in vanilla, to my knowledge, there are only two ways to get modules into a machine:
However in vanilla, to my knowledge, there are only two ways to get modules into a machine:
- Manually insert them
- Build a new machine from a blueprint that already contains them
Re: [1.1.5] Placing ghost over existing building does not place modules
This is a convenience I would really appreciate.
"Adam fell that men might be; and men are, that they might have joy."
Re: [1.1.5] Placing ghost over existing building does not place modules
There is already a method in the game, but it's kind of hidden -
Create a temporary blueprint instead of copy paste. This allows all attributes,including modules, to be copied to the existing building.
I use this extensively to avoid filling the clipboard history with pastes that are only needed rarely, change filters and recipes from the map, and of course, to make genuine copies of buildings and their attributes.
Create a temporary blueprint instead of copy paste. This allows all attributes,
- Start a new BP
- Hold Shift while selecting the source building
- Place the ghost BP over the target building
- Dismiss the BP with the picker (Q)
I use this extensively to avoid filling the clipboard history with pastes that are only needed rarely, change filters and recipes from the map, and of course, to make genuine copies of buildings and their attributes.
Last edited by Squelch on Tue Dec 15, 2020 1:28 am, edited 1 time in total.
Re: [1.1.5] Placing ghost over existing building does not place modules
The sad part is, I think I once knew this little gem and have completely forgotten. Thanks for this one!Squelch wrote: ↑Sat Dec 12, 2020 1:02 am There is already a method in the game, but it's kind of hidden -
Create a temporary blueprint instead of copy paste. This allows all attributes, including modules, to be copied to the existing building.
By holding the shift key while selecting objects for a blueprint, a temporary BP is created at the cursor. This is not saved, does not get added to the clipboard history, and cannot be edited, but does allow absolute copies of buildings to be copied and pasted.
- Start a new BP
- Hold Shift while selecting the source building
- Place the ghost BP over the target building
- Dismiss the BP with the picker (Q)
I use this extensively to avoid filling the clipboard history with pastes that are only needed rarely, change filters and recipes from the map, and of course, to make genuine copies of buildings and their attributes.
-
- Filter Inserter
- Posts: 665
- Joined: Wed Sep 16, 2020 12:45 pm
- Contact:
Re: [1.1.5] Placing ghost over existing building does not place modules
Squelch wrote: ↑Sat Dec 12, 2020 1:02 am There is already a method in the game, but it's kind of hidden -
Create a temporary blueprint instead of copy paste. This allows all attributes, including modules, to be copied to the existing building.
By holding the shift key while selecting objects for a blueprint, a temporary BP is created at the cursor. This is not saved, does not get added to the clipboard history, and cannot be edited, but does allow absolute copies of buildings to be copied and pasted.
- Start a new BP
- Hold Shift while selecting the source building
- Place the ghost BP over the target building
- Dismiss the BP with the picker (Q)
I use this extensively to avoid filling the clipboard history with pastes that are only needed rarely, change filters and recipes from the map, and of course, to make genuine copies of buildings and their attributes.
Hmmm, might be missing something. Apologies if I am, but I couldn't get this to work. Isn't the OP bug that this doesn't work?
OptimaUPS Mod, pm for info.
Re: Create module request when placing ghost over existing building
Yeah, just tested it, and I wasn't able to get it to add new module requests. I had to first remove the existing buildings before planting the module loaded version via blueprint.
Re: Create module request when placing ghost over existing building
Hmm yes it doesn't work for modules. Everything else such a recipe and filter changes works, but modules can only be added to a new/empty building. It seems odd that modules are treated differently.
I just confirmed 0.17.x too, so it must have been this way for some time - perhaps always
Apologies for the false trail.
I have to add my +1 to this suggestion now.
I just confirmed 0.17.x too, so it must have been this way for some time - perhaps always
Apologies for the false trail.
I have to add my +1 to this suggestion now.
Re: Create module request when placing ghost over existing building
I'll +1 this because adding or changing modules at all with bots is a major pain to do remotely.
It's actually similar if you want to update entity settings remotely... most commonly for me, changing circuit conditions or splitters. Very cumbersome to do remotely.
It's actually similar if you want to update entity settings remotely... most commonly for me, changing circuit conditions or splitters. Very cumbersome to do remotely.
Re: Create module request when placing ghost over existing building
That does work with the temporary blueprint method above. It is just modules that are the exception.