Smarter adding of modules to assembling machines
Moderator: ickputzdirwech
Smarter adding of modules to assembling machines
This might be a niche request, but I think it would be an improvement.
When using Ctrl+click to add efficiency modules to assembling machines 3 or mining drills, I often have to open the machine and remove some of the modules again, because of the cap on effect. I think it would be a good idea to limit the number of inserted modules, based on whether additional modules would an effect.
Example 1:
Empty assember 3, ctrl+click with efficiency 1 (30%).
Current behavior: 4 modules inserted, for a total effect capped at 80%
Desired behavior: 3 modules inserted, for a total effect capped at 80%
Example 2:
Empty electric mining drill, ctrl+click with efficiency 2 (40%).
Current behavior: 3 modules inserted, for a total effect capped at 80%
Desired behavior: 2 modules inserted, for a total effect exactly at 80%
Example 3:
Assember 3 with 1 efficiency 3 module, ctrl+click with efficiency 1 (30%).
Current behavior: 3 modules inserted, for a total effect capped at 80%
Desired behavior: 1 modules inserted, for a total effect exactly at 80%
Alternatively, the ctrl+click behavior for modules could be modified to only insert a single module at a time. While this would lead to more control, it could as much as triple the amount of clicking needed.
When using Ctrl+click to add efficiency modules to assembling machines 3 or mining drills, I often have to open the machine and remove some of the modules again, because of the cap on effect. I think it would be a good idea to limit the number of inserted modules, based on whether additional modules would an effect.
Example 1:
Empty assember 3, ctrl+click with efficiency 1 (30%).
Current behavior: 4 modules inserted, for a total effect capped at 80%
Desired behavior: 3 modules inserted, for a total effect capped at 80%
Example 2:
Empty electric mining drill, ctrl+click with efficiency 2 (40%).
Current behavior: 3 modules inserted, for a total effect capped at 80%
Desired behavior: 2 modules inserted, for a total effect exactly at 80%
Example 3:
Assember 3 with 1 efficiency 3 module, ctrl+click with efficiency 1 (30%).
Current behavior: 3 modules inserted, for a total effect capped at 80%
Desired behavior: 1 modules inserted, for a total effect exactly at 80%
Alternatively, the ctrl+click behavior for modules could be modified to only insert a single module at a time. While this would lead to more control, it could as much as triple the amount of clicking needed.
Re: Smarter adding of modules to assembling machines
I'd really like this too.
It gets annoying when you need to exchange dozen of assemblers to better versions and then do a lot of insert/remove modules on them.
It gets annoying when you need to exchange dozen of assemblers to better versions and then do a lot of insert/remove modules on them.
Re: Smarter adding of modules to assembling machines
ctrl + shift + left click to remove all modules from the AM would be even better.
Re: Smarter adding of modules to assembling machines
It helps with removal - inserting is still a problem then. And I think we could remove modules with a hotkeys+click.. but it doesn't work now.oLaudix wrote:ctrl + shift + left click to remove all modules from the AM would be even better.
Re: Smarter adding of modules to assembling machines
ßilkbot says:
https://forums.factorio.com/forum/vie ... =6&t=13942 Ctrl-Click on machine with modules replaces current modules
https://forums.factorio.com/forum/vie ... f=6&t=4888 Copy Setting for Modules
https://forums.factorio.com/forum/vie ... f=6&t=2160 Fast replace of modules (old)
And related:
https://forums.factorio.com/forum/vie ... f=6&t=8175 Mass insert/removal of modules
https://forums.factorio.com/forum/vie ... f=6&t=7904 Copy-paste modules (in addition to settings)
Especially: https://forums.factorio.com/forum/vie ... ing#p62396
The basic idea there is, that we have some configuration (low energy, high speed, just names) and depending on that you can set the module-config on a device. The resulting setting of modules depends on that and the bots try to deliver/exchange the modules into the devices automatically.
The set config can be switched by the circuit network (I think they can simply switch between 3 configurations) and that enables to switch the setup automatically, depending on the needs.
Far Related:
https://forums.factorio.com/forum/vie ... =6&t=12586 ON/OFF Button on buildings.
https://forums.factorio.com/forum/vie ... =6&t=13942 Ctrl-Click on machine with modules replaces current modules
https://forums.factorio.com/forum/vie ... f=6&t=4888 Copy Setting for Modules
https://forums.factorio.com/forum/vie ... f=6&t=2160 Fast replace of modules (old)
And related:
https://forums.factorio.com/forum/vie ... f=6&t=8175 Mass insert/removal of modules
https://forums.factorio.com/forum/vie ... f=6&t=7904 Copy-paste modules (in addition to settings)
Especially: https://forums.factorio.com/forum/vie ... ing#p62396
The basic idea there is, that we have some configuration (low energy, high speed, just names) and depending on that you can set the module-config on a device. The resulting setting of modules depends on that and the bots try to deliver/exchange the modules into the devices automatically.
The set config can be switched by the circuit network (I think they can simply switch between 3 configurations) and that enables to switch the setup automatically, depending on the needs.
Far Related:
https://forums.factorio.com/forum/vie ... =6&t=12586 ON/OFF Button on buildings.
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: Smarter adding of modules to assembling machines
Thank ssilk!
I actually like the referenced idea better of including module configuration into the cut'n'paste behavior, if you have the correct modules in your inventory.
I actually like the referenced idea better of including module configuration into the cut'n'paste behavior, if you have the correct modules in your inventory.
Limit efficiency module insert to -80% power usage
The maximum power usage bonus that efficiency modules can give is -80%.
This limit is reached with:
I would like to see ctrl+click not insert additional efficiency modules if the power usage bonus is already capped at -80%. So, for example:
In other words: Right now ctrl+click inserts extra modules and you have to do it manually if you don't want to. This change makes ctrl+click not insert extra modules and you have to do it manually if you *do* want to. Assuming not wanting to put unnecessary efficiency modules in a field of buildings is the more common case, this makes the common case the more convenient one.
Note that the logic is "insert one only if current bonus is smaller than -80%" (since e.g. three L1 modules is -90% capped to -80% but is still OK and should go in the building).
As a "workaround" right now, assuming you have construction robots, you can sort of make things more convenient by copying and pasting a building that already has the desired module setup (although this is not useful if the building is already placed).
This limit is reached with:
- 3x level 1 modules
- 2x level 2 modules
- 2x level 3 modules
- Various mixed combos (one L1 + one L3, for example)
I would like to see ctrl+click not insert additional efficiency modules if the power usage bonus is already capped at -80%. So, for example:
- Holding L2 efficiency modules, assembler 3, no modules: inserts 2
- Holding L2 efficiency modules, assembler 3, contains one L2 module: inserts 1
- Holding L1 efficiency modules, assembler 3, contains one L3 module: inserts 1
- And so forth...
In other words: Right now ctrl+click inserts extra modules and you have to do it manually if you don't want to. This change makes ctrl+click not insert extra modules and you have to do it manually if you *do* want to. Assuming not wanting to put unnecessary efficiency modules in a field of buildings is the more common case, this makes the common case the more convenient one.
Note that the logic is "insert one only if current bonus is smaller than -80%" (since e.g. three L1 modules is -90% capped to -80% but is still OK and should go in the building).
As a "workaround" right now, assuming you have construction robots, you can sort of make things more convenient by copying and pasting a building that already has the desired module setup (although this is not useful if the building is already placed).
Last edited by JasonC on Thu Jan 23, 2020 9:01 pm, edited 1 time in total.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
- BlueTemplar
- Smart Inserter
- Posts: 3024
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: Limit efficiency module insert to -80% power usage
Or whatever is the actual limit if it can be modded.
Also, another workaround would be using upgrade planner to change the number of modules ?
(Vanilla or the mod, if vanilla doesn't support this yet.)
Also, another workaround would be using upgrade planner to change the number of modules ?
(Vanilla or the mod, if vanilla doesn't support this yet.)
BobDiggity (mod-scenario-pack)
Re: Limit efficiency module insert to -80% power usage
Sorry I'm not on board with this. When I want to fill that's my go-to. As you said, When I want a particular configuration, I copy or use a blueprint.
Maybe someone has made a mod for this sorta thing?
If this was implemented how would it be learned? I'm guessing an inexperienced player might think ctrl+click is broken until someone explains it.
Can you expand the "And so forth..."? How many L1 modules (-30) into an empty assembling-machine-3? two for 60? three for 90 cut down to 80? What if I wanted it one way for one scenario and a different way for another scenario? What if there were beacons nearby? would they count? what if they were not powered? If it considers beacons now I have to lay them down (and maybe power them up) first?
This ask just seems to add way too much complexity to an otherwise simple feature of the game.
Re: Limit efficiency module insert to -80% power usage
What advantage do you see in putting four L1 efficiency modules in a structure?
This is almost never a concern.If this was implemented how would it be learned? I'm guessing an inexperienced player might think ctrl+click is broken until someone explains it.
First, we know that people learn things, as evidenced by people learning how the rest of this game works. Second, if you attempt to reinsert it could just pop up the standard little floaty explanatory message.
This makes learning this behavior just as difficult as learning why you can't pick something up if your inventory is full -- i.e. not difficult: you'll figure it out right away the first time.
No, I will not enumerate every combination of modules whose efficiency bonus is greater than the game's 80% cap, but you can do it on paper as a fun math exercise if you're bored.Can you expand the "And so forth..."?
Not inserting efficiency modules that have no effect is not a lot of additional complexity; it's even simpler because then you don't have to remove unnecessary modules or open the things individually. It just lets you hold down control, drag the mouse over like you do with everything else, but now without wasting modules.This ask just seems to add way too much complexity to an otherwise simple feature of the game.
I wonder if I was unclear in my description.
Last edited by JasonC on Thu Jan 23, 2020 8:01 pm, edited 3 times in total.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
Re: Limit efficiency module insert to -80% power usage
Just to be clear, the -80% cap (or whatever cap for non-vanilla mods that change it) already exists in the game, it has always existed. A fourth L1 efficiency module has never had an effect. This isn't a request to change any rules, only to change insert behavior.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
Re: Limit efficiency module insert to -80% power usage
I'm usually really OK with removal of useless complexity and QOL features, but I feel like this would be a hazardous step.
There's plenty of "mistakes" the game let you do. You can put prod modules in pumpjacks, you can place 200 boilers feeding on one offshore pump, offset your nuclear plants and lose all the neighboring bonus if you want to. I don't think the game should prevent any of these including OP situation (too many efficiency modules)
Re: Limit efficiency module insert to -80% power usage
What's the hazard?
You could insert extra modules if you want by opening the building dialog and inserting them one at a time.
Right now ctrl+click inserts extra modules and you have to do it manually if you don't want to.
This change makes ctrl+click not insert extra modules and you have to do it manually if you *do* want to.
Seems to make sense. It's almost certainly the more common case, it should be the more convenient option.
Plus it could just be an interface option that you can turn off if for some reason you do want to insert unnecessary modules as fast as possible.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
- eradicator
- Smart Inserter
- Posts: 5207
- Joined: Tue Jul 12, 2016 9:03 am
- Contact:
Re: Limit efficiency module insert to -80% power usage
Your understanding of the "limit" only applies for setups that use no other modules or beacons. Because the limit is on the total effect. For example an assembler with 3xEff3 and 1xProd3 does not hit the 20% consumption lower-limit.
Also any sort of "smart" solution will just make it fail in other situations. What you propose is therefore just shifting the non-problem elsewhere. And it's therefore better to keep behavior consistent.
Here's an example command that gives you back modules based on the current consumption of the machine. Feel free to make a mod of it if you care enough.
Also any sort of "smart" solution will just make it fail in other situations. What you propose is therefore just shifting the non-problem elsewhere. And it's therefore better to keep behavior consistent.
Here's an example command that gives you back modules based on the current consumption of the machine. Feel free to make a mod of it if you care enough.
Code: Select all
/c
function is_effect_maxxed(obj)
if obj.effects and obj.effects.consumption then
if (1 + obj.effects.consumption.bonus) <= 0.2 then return true end
end
end
script.on_event(defines.events.on_player_cursor_stack_changed,function(e)
local p = game.players[e.player_index]
local s = p.selected
local modules = s and s.get_module_inventory() or nil
if modules then
if is_effect_maxxed(s) then --[[below min consumption]]
local refund_count,lname = 0 --[[naively use last seen modules name]]
for i=#modules,1,-1 do
local m = modules[i]
if m.valid_for_read
and m.prototype.module_effects.consumption.bonus < 0
and (not m.prototype.module_effects.speed )
and (not m.prototype.module_effects.productivity )
and (not m.prototype.module_effects.pollution ) then
local name = m.name
lname = m.prototype.localised_name
m.clear()
if (not is_effect_maxxed(s)) or (p.insert{name=name, count=1} == 0) then
m.set_stack{name=name, count=1}
break
else
refund_count = refund_count + 1
end
end
end
if refund_count > 0 then
p.create_local_flying_text{
text = {"","+",refund_count,' ',lname},
position = s.position,
speed = 2.8,
time_to_live = 150,
color = {g = 1},
}
end
end
end
end)
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
Re: Limit efficiency module insert to -80% power usage
That's a good point; the behavior I'm imagining is it just stops when the combined effect of only the building (non-beacon) you are inserting into hits the cap, including the current effect of any beacons. For inserting in beacons, it probably makes sense to have no limit here. I think this would be useful still; I mean, it's always what I'd be trying to do anyways.eradicator wrote: ↑Thu Jan 23, 2020 9:00 pm Your understanding of the "limit" only applies for setups that use no other modules or beacons. Because the limit is on the total effect. For example an assembler with 3xEff3 and 1xProd3 does not hit the 20% consumption lower-limit.
Place your beacons, stick the modules you want in them, then do a run by efficiency module insert on the buildings to cap them off.
Changed the beacon setups and have room for more efficiency? No problem, just do another quick run-over with the mouse to max out efficiency again.
Loaded up buildings before building beacons or whatever? Oh well, now you've got extra modules, no big deal.
It still seems like a convenient behavior.
Of course later in the game when you've got modules stockpiled in the thousands wasting them isn't a big deal; but even then it's sometimes handy to conserve when you're dropping 100+ mining drills in a field and you only have so much inventory space for modules.
All I'm saying is, criticize all you want in theory, just think of me every time you open a building dialog and insert efficiency modules manually.
Plus like I said:
PS Thanks for the snippet that's handy.Right now ctrl+click inserts extra modules and you have to do it manually if you don't want to.
This change makes ctrl+click not insert extra modules and you have to do it manually if you *do* want to.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
Re: Limit efficiency module insert to -80% power usage
This is the crux of my objection. I have to ask, Why are you asking for a feature that already exists via copy and/or blueprinting? You give a handful of examples that apply to you but nothing that substantiates it when asked. This is not a good way to get devs to value your request.
"if you're bored" ... while I avoid doing things on paper (yuk) I have plenty of spreadsheets and notes. I get it, you're in contrast to me and want the game to figure these things out for you. I'm okay with that if done through a mod.
While you scoff at my L1 scenarios, how about a L3 example then? ctrl-click fill assembling-machine-3 with L3 efficiency, then replace one with a L3 speed. It's two clicks, which can then be copied. Your suggestion if implemented would only place one since 2 would go over the limit right? Then there's no difference between ctrl+click and click... which seems silly.
- BlueTemplar
- Smart Inserter
- Posts: 3024
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: Limit efficiency module insert to -80% power usage
I would add an additional request :
Ctrl + right click would prevent "wasting fractions of modules" :
One well-known use case is electric drills where a third efficiency module would be "partially wasted" (which usually happens much earlier than bots) : ctrl + right click would only fill them with 2 modules.
Alternate, simpler (?) option :
Keep Ctrl + left click like it is, and add Ctrl+right click in a manner "similar" to how it works for other items :
Fills half of module slots (rounded up?) :
Let's check what happens :
- First pass on vanilla electric drills with eff1 modules would fill them with 2 modules. Check !
- First pass on vanilla assemblers mk3 with eff2 modules would fill them with 2 modules. Check !
- First pass on vanilla assemblers mk3 with eff1 modules would fill them with 2 modules. Check for "no waste" ! Now, if what the code does is to look at remaining free slots, the second pass would fill them with an additional eff1 module, resulting in 3 eff1 modules total. Check for "maximum efficiency" !
Want to only half-fill module slots for one reason or another, like combining half/half distinct modules, for one reason or another, maybe modded games ? Check !
Of course, all of these requests might be kind of moot of one remembers about the 0.17-introduced "drop a single item using "Z"" feature. But it is slightly fiddlier to use than ctrl+left/right click !
Ctrl + right click would prevent "wasting fractions of modules" :
One well-known use case is electric drills where a third efficiency module would be "partially wasted" (which usually happens much earlier than bots) : ctrl + right click would only fill them with 2 modules.
Alternate, simpler (?) option :
Keep Ctrl + left click like it is, and add Ctrl+right click in a manner "similar" to how it works for other items :
Fills half of module slots (rounded up?) :
Let's check what happens :
- First pass on vanilla electric drills with eff1 modules would fill them with 2 modules. Check !
- First pass on vanilla assemblers mk3 with eff2 modules would fill them with 2 modules. Check !
- First pass on vanilla assemblers mk3 with eff1 modules would fill them with 2 modules. Check for "no waste" ! Now, if what the code does is to look at remaining free slots, the second pass would fill them with an additional eff1 module, resulting in 3 eff1 modules total. Check for "maximum efficiency" !
Want to only half-fill module slots for one reason or another, like combining half/half distinct modules, for one reason or another, maybe modded games ? Check !
Of course, all of these requests might be kind of moot of one remembers about the 0.17-introduced "drop a single item using "Z"" feature. But it is slightly fiddlier to use than ctrl+left/right click !
AFAIK this is not necessarily a mistake for non-depleted oil fields ?
BobDiggity (mod-scenario-pack)
Re: Limit efficiency module insert to -80% power usage
A fair portion of UI feature requests are to make things that you can already do more convenient, so I'm not sure what to tell you.netmand wrote: ↑Thu Jan 23, 2020 9:19 pmThis is the crux of my objection. I have to ask, Why are you asking for a feature that already exists via copy and/or blueprinting? You give a handful of examples that apply to you but nothing that substantiates it when asked. This is not a good way to get devs to value your request.
I substantiated my request by providing a handful of examples that apply to me. The forum is where others who aren't me can provide additional input, I don't speak for anybody else. If my examples don't convince you, that's OK too.
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
Re: Limit efficiency module insert to -80% power usage
I had no idea you could do that into buildings! I'll take it! It's easier than opening the dialog and is good enough that I'm less in need of this request. Thanks!!BlueTemplar wrote: ↑Thu Jan 23, 2020 11:25 pm Of course, all of these requests might be kind of moot of one remembers about the 0.17-introduced "drop a single item using "Z"" feature. But it is slightly fiddlier to use than ctrl+left/right click !
So, that gives me an alternate idea, but I think it's different enough to warrant a new post (it's here).
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.
- eradicator
- Smart Inserter
- Posts: 5207
- Joined: Tue Jul 12, 2016 9:03 am
- Contact:
Re: Limit efficiency module insert to -80% power usage
That's just more thought-reading magic. How should the engine know when you think that wasting fractions is ok and when you think it's not? And why should the engine be engineered for your thought pattern? It's not realistic. And overloading the game with more shortcuts every time anyone comes up with a new edge case isn't the solution.BlueTemplar wrote: ↑Thu Jan 23, 2020 11:25 pm I would add an additional request :
Ctrl + right click would prevent "wasting fractions of modules" :
One well-known use case is electric drills where a third efficiency module would be "partially wasted" (which usually happens much earlier than bots) : ctrl + right click would only fill them with 2 modules.
Imho the easiest would be to simply introduce a "module planner". Drag a frame around the relevant machines → a gui pops up and asks you what modules you want. Ofc that's pretty similar to the already existing blueprint solution but more overpowered because it doesn't require bots or time.
Btw, the devs have already stated that (paraphrased from memory) "making pre-bot building easier" isn't something they have much interest in. See the upgrade planner for example.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.