Factorio

Factorio

View Stats:
Can someone explain Quality Transfer?
I wanted to make some automatic "select highest existing quality" circuit and wanted to do something like this:

https://imgur.com/a/jbxZRkh

But can someone explain to me why the >one< signal I sample from is not in the final list of outputs?

And maybe I think too much, does someone know of a circuit that basically says:

Go through all circuits and select the one with the highest quality of each item?
Lets say I have asteroid reprocessing for oxide in rare and epic, and would like to return this epic.
But if I have a legendary carbonic one, I want to return that one
< >
Showing 1-7 of 7 comments
Fel Nov 30, 2024 @ 12:16pm 
There is a little blue "i" right after "select from signal", it might be helpful to read that.
I suspect that the signal used in the "select from signal" is only used to get the quality and as a result is not used for the output (which would make perfect sense).

The text description of the mode for the selector also points towards it not being what you want.
It takes the signals and outputs them with the selected quality.

Overall, selector combinators are for advanced uses and not really something you use for basic stuff.
You would probably want to use decider combinators for this instead.
オルゴール Nov 30, 2024 @ 12:40pm 
Originally posted by Fel:
There is a little blue "i" right after "select from signal", it might be helpful to read that.
I suspect that the signal used in the "select from signal" is only used to get the quality and as a result is not used for the output (which would make perfect sense).

The text description of the mode for the selector also points towards it not being what you want.
It takes the signals and outputs them with the selected quality.

Overall, selector combinators are for advanced uses and not really something you use for basic stuff.
You would probably want to use decider combinators for this instead.
I thought it was working like that, but assumed to be mistaken as I otherwise dont see how to do something,

I was first designing using a lot of deciders and alike, but then I would have had to use 15 deciders, plus the logic for which to choose.

just reading the highest quality available of each send signal should be something more advanced tho, isnt it?
Fel Nov 30, 2024 @ 12:48pm 
I can't check ingame right now (perhaps in an hour or so if nobody answered you by then) but you definitely have easier ways that using that many decider combinators.
Fel Nov 30, 2024 @ 4:14pm 
This is turning out to be more annoying than I thought, since each quality is a separate signal and you can't use quality for "each", "anything" or "everything".
I ended up with a messy system of 24 combinators in to be able to do it for any items.
https://steamcommunity.com/sharedfiles/filedetails/?id=3375193499

I normally explain rather than sharing a blueprint string but it's way too complex for that this time, so I hope you have some understanding of what is happening in there.
0eNrtWtuO4jgQ/RXkpx2tGWHnAkGafdq/6EVRSArwdHBYx+le1Mq/b9kJJM3QQNI0YiTeinJV+Zw6cRwnvJF5WsBGCanJ9I0kkMdKbLTIJJmSv0GDWgsp5HKwEssV5HrwbxGlQm+//yP/0CsYxJnMdSQ1Guu5kJHO1EDkg58Fhr6uQMHARAm5KfQgX2VFmgzm8I1QIkwmmT69kVwsZZSa2WW0Bpw2hxRiLDRsapISM2QC/5EpK2eUgNRCC6gK2B/bUBbrOSgMoKcKUbLJclERfCNYj3uUbMl0yILvHs6SCIU5dtilBEFqlaXhHFbRi8B0zMk2oKK6Q3U3hlpFMl+AKV+7QmylNnNiYNhQ1NuNQfYilMY40kC1EUOI4hUpy5L+wor3ZDW5Lqs8K1QMIWquRdzSrJCIZo3Z5Zd1wNmHRkro1RoQwckeGEV3XSiPs24qhTic2OzcDCyEynVX1BS1MWW657W7/ydGZYXGFdO9Tht2KEG/ZurZ8lGQkKlWBVCyVAA4zyJKcziE/GuODdsnmQrlUXXcrurw0UOdm6njdVaHPdS5mTp+Z3X4Q52bqTPuufOOb7PzqkjBF+66k57s/duwhw3+/Dr2wT40gVgkoC594PA/WJZ1mYM12f71dPMlipQ2kbKUpuQvcqu1NtvdDA6PARfCvgRYOTsqKxt10rW1GT50vWtdWTddRw9dfw9deTdd+UPX30NXp+fThXebp4sUliCTSG2/8BGDud160HrIcMt7ekPFvI5iju6ViN+RCLtXIl2PLvxeiXQ9hTj3SiTovdh5ByILkep3NGoHhtceDJaZWlvw7/adHx+8fh71XhNXB25PvBfCZr3vSVeHvX9FfiF03vuavzr0Zh+8ELvT+8Zzdez2DcGFsJutePdd6/Tq9HewL/12lFfj+Xsbn7p2H7fMQ5/hcOitYb1mWQJyGJtPcQ3vE4vZOArzbY8ZvnW95soSKvt0Nec8uo8v/aMV3XP4jt8BjtbyztU6fn0creWfq3VinRwtOD7fug7wWpukBkg/q2trq8K4aAlDXBDPfXVovXLBchKGcyXi5x7dm31wluBet3d1k24r9ysPjAcHv0+fyOJssw1tw8KFytah/fy+O4qZ7uEEr8jYlH9ilNGAOjOKlkO5tTj6GKtNh46t5ewDTZhL3doKKEfLbVJcdHp22FjoNOOeGR/ZcQ+9vh03FjrNuG/Gq9l9453YgHGThSDoxFqTJhQdFA+RxgyM162IjIztV7bhh0cTa1te4529n4UZaqwqziyRuiEGNK9IMQOQV1CYgcWraZlBwys0mMZNPN/bVRswbe+vbKeyecs282I8m6E4QsMaZW3+mkHJC+4J9vr0fB64QeC542DsjZ2y/B/p9ZN9
オルゴール Dec 1, 2024 @ 12:29pm 
Originally posted by Fel:
This is turning out to be more annoying than I thought, since each quality is a separate signal and you can't use quality for "each", "anything" or "everything".
I ended up with a messy system of 24 combinators in to be able to do it for any items.
https://steamcommunity.com/sharedfiles/filedetails/?id=3375193499

I normally explain rather than sharing a blueprint string but it's way too complex for that this time, so I hope you have some understanding of what is happening in there.
0eNrtWtuO4jgQ/RXkpx2tGWHnAkGafdq/6EVRSArwdHBYx+le1Mq/b9kJJM3QQNI0YiTeinJV+Zw6cRwnvJF5WsBGCanJ9I0kkMdKbLTIJJmSv0GDWgsp5HKwEssV5HrwbxGlQm+//yP/0CsYxJnMdSQ1Guu5kJHO1EDkg58Fhr6uQMHARAm5KfQgX2VFmgzm8I1QIkwmmT69kVwsZZSa2WW0Bpw2hxRiLDRsapISM2QC/5EpK2eUgNRCC6gK2B/bUBbrOSgMoKcKUbLJclERfCNYj3uUbMl0yILvHs6SCIU5dtilBEFqlaXhHFbRi8B0zMk2oKK6Q3U3hlpFMl+AKV+7QmylNnNiYNhQ1NuNQfYilMY40kC1EUOI4hUpy5L+wor3ZDW5Lqs8K1QMIWquRdzSrJCIZo3Z5Zd1wNmHRkro1RoQwckeGEV3XSiPs24qhTic2OzcDCyEynVX1BS1MWW657W7/ydGZYXGFdO9Tht2KEG/ZurZ8lGQkKlWBVCyVAA4zyJKcziE/GuODdsnmQrlUXXcrurw0UOdm6njdVaHPdS5mTp+Z3X4Q52bqTPuufOOb7PzqkjBF+66k57s/duwhw3+/Dr2wT40gVgkoC594PA/WJZ1mYM12f71dPMlipQ2kbKUpuQvcqu1NtvdDA6PARfCvgRYOTsqKxt10rW1GT50vWtdWTddRw9dfw9deTdd+UPX30NXp+fThXebp4sUliCTSG2/8BGDud160HrIcMt7ekPFvI5iju6ViN+RCLtXIl2PLvxeiXQ9hTj3SiTovdh5ByILkep3NGoHhtceDJaZWlvw7/adHx+8fh71XhNXB25PvBfCZr3vSVeHvX9FfiF03vuavzr0Zh+8ELvT+8Zzdez2DcGFsJutePdd6/Tq9HewL/12lFfj+Xsbn7p2H7fMQ5/hcOitYb1mWQJyGJtPcQ3vE4vZOArzbY8ZvnW95soSKvt0Nec8uo8v/aMV3XP4jt8BjtbyztU6fn0creWfq3VinRwtOD7fug7wWpukBkg/q2trq8K4aAlDXBDPfXVovXLBchKGcyXi5x7dm31wluBet3d1k24r9ysPjAcHv0+fyOJssw1tw8KFytah/fy+O4qZ7uEEr8jYlH9ilNGAOjOKlkO5tTj6GKtNh46t5ewDTZhL3doKKEfLbVJcdHp22FjoNOOeGR/ZcQ+9vh03FjrNuG/Gq9l9453YgHGThSDoxFqTJhQdFA+RxgyM162IjIztV7bhh0cTa1te4529n4UZaqwqziyRuiEGNK9IMQOQV1CYgcWraZlBwys0mMZNPN/bVRswbe+vbKeyecs282I8m6E4QsMaZW3+mkHJC+4J9vr0fB64QeC542DsjZ2y/B/p9ZN9
hey thanks nontheless! I will look at it and try to comprehend it. But yea, this is quiet annoying to create - maybe >just maybe< will there ever be a mod for it, but hey!
Thanks :)
Fel Dec 1, 2024 @ 12:46pm 
By the way, this thing specifically outputs only a quantity of 1, but you could get it to the original values easily by doing "each (from the results) * each (from the source) output each" or "each (from results)>0 output each (from source)".

If you want a quick explanation, it's not that complex, it was just annoying to come up with it.

The first decider is there to set all signals to a value of 1 (you could do without but it would make things harder than it needs to be).
The bottom row of selectors just filter by quality, from normal on the left to legendary on the right.
The next row of selectors convert the signals into normal quality (pretty much required to be able to compare them if you are doing something that could be used with any type of signals).
Technically, you could take the signal from the filtered legendary as the result for legendary, but for the sake of making it easier to understand, I used the same way for it as for the rest, so the converted signal (from legendary quality) is sent to the bottom-most selector on the right and converted back into legendary (the others from that column do the same for each quality).

The deciders compare the signal from the converted to the signals from higher qualities to determine if there is a higher quality for that item (just from legendary for the epic of course).
The arythmetic combinator above add up the signals from "current quality" and "above", used for the comparison on the lower quality's decider.
Each decider also sends their result (which are "this is the highest quality for this item") to the selectors on the right, to be converted into the right quality signals.


Well, not that complex for people that understand circuit network, it would probably be foreign language to those that don't.
Last edited by Fel; Dec 1, 2024 @ 12:53pm
Muffinman Dec 23, 2024 @ 4:41am 
The output of Quality transfer depends on how you use it.

If you use "direct selection", then you can force movement up or down the quality chain for a particular signal (the "target signal). The target signal has to be non-zero for the combinator to output.

If you use "select from signal", then you can only move up the quality chain. The reason is it will select the highest quality from the selection signal (suppose A) and apply that quality to the target signal (suppose B_quality). Obviously, both A and B must be non-zero. For example, A = {2_uncommon,4_rare,5_epic} and B = {1_normal, 2_rare}, then the output will be B = {2_epic} if B_rare was chosen as the target signal. There is a special "each" signal. If this is selected, then it will apply the highest quality from selected signal to sum of each of the other signals. In the example, the output will be B = {3_epic}. This is a very useful feature is you want to sum across the qualities for a given signal...

Anyways, I'm sure most people only care about practical use. Here's an application where we use just 4 selector combinators to quality up the asteroids.



Use this in creative / editor mode to see how it works.
Last edited by Muffinman; Dec 23, 2024 @ 5:44am
< >
Showing 1-7 of 7 comments
Per page: 1530 50

Date Posted: Nov 30, 2024 @ 11:04am
Posts: 7