Selector Combinator: Upgrade Inputs
Posted: Sat Nov 09, 2024 11:12 pm
TL:DR:
Add an "Upgrade" mode to selector combinator that maps inputs to their upgrades, e.g. Speed 1 Epic-> Speed 2 Epic, Yellow Belt Normal -> Red Belt Normal.
What:
Add a mode to selector combinators that takes all input signals and maps them to their direct upgrades, preserving the input signal quality. If there is no direct upgrade, ignore the signal. It could use the upgrade planner gui, but a simple hard-coded map would be fine. Quality would be preserved on the signals. It would apply to:
- Assemblers
- Belt Parts
- Modules
- Inserters
- Ammo?
Why:
I'm trying to build a universal module factory that detects when sufficient quality precursors are available to built a higher quality module instead of normal. I haven't come up with a way to map the precursor module availability with the upgraded module signal without resorting to an arithmetic combinator per module/quality combination (20 combinators) to set the recipe on the higher level module:
Maybe there's another way to do it I haven't considered?
Add an "Upgrade" mode to selector combinator that maps inputs to their upgrades, e.g. Speed 1 Epic-> Speed 2 Epic, Yellow Belt Normal -> Red Belt Normal.
What:
Add a mode to selector combinators that takes all input signals and maps them to their direct upgrades, preserving the input signal quality. If there is no direct upgrade, ignore the signal. It could use the upgrade planner gui, but a simple hard-coded map would be fine. Quality would be preserved on the signals. It would apply to:
- Assemblers
- Belt Parts
- Modules
- Inserters
- Ammo?
Why:
I'm trying to build a universal module factory that detects when sufficient quality precursors are available to built a higher quality module instead of normal. I haven't come up with a way to map the precursor module availability with the upgraded module signal without resorting to an arithmetic combinator per module/quality combination (20 combinators) to set the recipe on the higher level module:
Maybe there's another way to do it I haven't considered?