Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Keep in mind that sending a constant signal to such setup will multiply the value stored, it only works properly with pulses.
They also do not have a proper "reset" mechanism, but that can be achieved by using the decider combinator variant and adding a separate condition.
For example:
Each != 0 AND Deny (the red cross) = 0
That way, you just need to send the "deny" signal (positive or negative) when you want it to reset.
Since your goal is to hold a recipe, you don't really care about the amount on that signal, so you can make it output 1 instead of source and you won't need to worry about incrementing even with a non-pulse input.
So, sending a new recipe has to automatically replace the old recipe.
There is one janky 1-combinator solution I can think of (selector combinator randomly outputs one of two inputs to itself, should almost instantly settle on the new input) but I dunno how good for TPS that'd be if I end up having hundreds of them.
The biggest problem is I can't picture the need. Perhaps, since nothing has been of use yet, you can take the "problem" up a level and describe what it's supposed to do, not how it's supposed to do it.
The idea is that on a planet like Gleba, where almost everything can be crafted from only a few inputs but you don't wanna leave intermediate ingredients hanging around, I can put in a request for an item and have a whole block of biochambers optimize themselves to produce it with minimal time and wastage.
Honestly, it's not the control system for all this that's the problem, it's getting the assembler to actually stick to one of these one-tick recipes. I want to limit myself to 3 combinators per assembler for it, and I'm already using two to make it only pass through recipes to the memory cell under certain conditions.
Decider #1 checks if all conditions are met and outputs a checkmark if the recipe *shouldn't* be changed, looking at assembler state and comparing required ingredients with available ingredients.
Decider #2 looks for a checkmark and if none exists it outputs one of the rapid-broadcast recipes it's receiving to the memory cell. Since it can only output the recipe as an "anything" the checkmark is on a separate wire.
So #3 needs to a memory cell that swaps to any new recipe it receives.
I did make a crude memory cell of that type, but it was too janky for my tastes, since it'd differentiate between stored and new input by outputting with a value of 2 (duplicated output) and expecting new input to have a value of 1. That way I could tell if the stored and new input held different symbols.
Depending on what you need from your machine (in terms of signals), you could opt to check "read recipe finished" and set it to the signal you want to use as the reset (the "deny" in my previous example).
It isn't perfect since it would mean changing the recipe after every crafting cycle, unless you make an even more complex system as your control that sends the recipe and the amount of times to craft it, but you then get the issue where you need to turn it into a pulse signal for the memory cell to not quickly add it up many times.
There is probably a way to do what you want, but at the very least I am not taking potentially hours of my time to figure it out for you, sorry.
I can attempt to describe it better, if that is a feature which might be helpful. Otherwise it's not worth the wall of text it's likely to create.
It'd be useful if it works on two different symbols, since then it'd wipe both on one tick and accept the new symbol on the next tick. But it needs to still pass through the signal if it's receiving the same symbol through both wires, otherwise it'll oscillate every tick.
First, make a decider combinator that loops back on itself and also takes external input both using wires of the *same* colour, it won't work if the input colours are different.
Then:
Input:
EVERYTHING != 1
OR
EVERYTHING = 1
Output:
ANYTHING, 1
ANYTHING, 1
With this you can input a symbol of any value except 0, and it will remember that symbol over the previous one, though always with a value of 2.
If for some reason the "new" input has a value of -2, it goes brrrrr, different color or not. That should never be a problem in practice though.
Nice.