That's mostly overcomplicationeugenekay wrote: Tue Apr 08, 2025 10:24 pm These circuits make Barrels seem like a sane alternative for Fluid Handling.![]()
this is (mostly) a joke. I like modded fluids too

here is """"my""""" solution :
That's mostly overcomplicationeugenekay wrote: Tue Apr 08, 2025 10:24 pm These circuits make Barrels seem like a sane alternative for Fluid Handling.![]()
this is (mostly) a joke. I like modded fluids too
Simplifying a bit, I read the instructions as:
Impossible. While a decider combinator can evaluate arbitrary logic, it'll either produce all it's configured outputs if the condition is true, or none if the condition is false.I would like to have a single (decider) combinator
I know to expect X because I set up the previous combinators to output the result on X (that's the role of A3.1). Moving the value back to a different dynamic signal can then easily be accomplished by the powers of Each (A4.1).Yes and No. Yes - you can expect 'X' and convert it to 'Y'. But you would have to know that you're expecting 'X' and code it as a static case. But I don't know if the green wire input will be 'Y', or 'Z', or 'iron-plate'. But I do know I'd like the output to be 'copper-plate' nonetheless. So it has to map any input value from red wire signals to the signal type of the green wire and we don't care about what the green wire actually signal is.Nidan wrote: Tue Apr 08, 2025 8:09 pm When you have something that map signals '1', '2' and '3' to 'X', then converting that 'X' to 'Y' (or 'Z' or 'iron-plate' or …) can be done by adding a single arithmetic combinator, configured as 'X'[green] * Each[red] -> Each. 'Y' (or 'Z' or 'iron-plate' or …) is the signal that would come in on the red wire, with value 1.
Well .. the example with my 'special' notation has no connection with the thread opener nor the circuit I posted. It just decribed something I was wishing to be be implemented/added as it is (imo) not doable with circuits.mmmPI wrote: Tue Apr 08, 2025 10:21 pmI am not sure i can follow the notation, but i wanted to be sure i didn't make a mistake, because i realize it's not exactly working as a schmitt trigger, which aims at controlling that the input signals reaches the "upper bound" before flopping. I may have spoken too soon when "confirming". When i tried again the posted blueprint, i realize it wouldn't work when the value reaches the upper bound when you set it to the quantity of the fluid tank, but if you need to set it above then the blueprint just picks the maximum signal even if it's not at the specified limit. It look a lot like a schmitt trigger but isn't one.GluAp wrote: Tue Apr 08, 2025 10:02 pm Honestly - I don't know what this does.... I guess this could be a feedback loop. My programming days are long gone and I hope you can follow my notation.
Sorry, I don't understand what your idea with the two input sets is supposed to be. On the green wire are the CURRENT buffer/tank values. The red wire will only have 1 of those input signals and works as a filter. It carries the real value with a little offset regarding circuit delay.Then i tried to understand how the posted blueprint could serve the mentionned purpose in the OP , the usecase, but i don't think it can.
The wiring (i think plz correct me this is hypothesis) should account for 2 differents sets of inputs i thought, 1) for the fluid that could serve as fuel to know their quantity and 2) the quantity of fluid in the buffer tank, to know when to switch.
As such i am not sure i understand the usecase of the machine
Ok I will focus on the other thing for now then x).GluAp wrote: Wed Apr 09, 2025 1:14 am Well .. the example with my 'special' notation has no connection with the thread opener nor the circuit I posted. It just decribed something I was wishing to be be implemented/added as it is (imo) not doable with circuits.
The problem i have with using this name for the contraption is that as far as i can tell it doesn't prevent hysteresis. Since you have a variable upper bound, it can happen that it is temporarily the same as the lower bound or very close in case of low fluid. Say you have a low at 5K ; then if your fluids are in quantity 5001 5001 and 5002, it will switch rapidly from one to another.GluAp wrote: Wed Apr 09, 2025 1:14 am As far as I would say, it behaves as a Schmitt Trigger with a variable upper bound?
The "upper limit input value" has to be higher than the highest input value that is expected to be used with the circuit. Contrary to it's naming it does not behave as the upper bound you'd find in a Schmitt Trigger. I'm not good with words I guess![]()
GluAp wrote: Wed Apr 09, 2025 1:14 am
And that's the point where I realized that it wouldn't be useful for me in the context I was using it for.
This is troubling me because i'm trying to understand the blueprint in relation with the usecase, and i'm not sure does it work ? do you have OK answer in your gameplay help request ? or not ? x).GluAp wrote: Wed Apr 09, 2025 1:14 am For Pyanodons it works well, because you have plenty of different fluids and several tank sizes with some of them with up to 8 connections.
You can place it down and circuit size and complexity don't increase with the amount of fluids you want to handle.
Maybe?mmmPI wrote: Wed Apr 09, 2025 1:44 am The problem i have with using this name for the contraption is that as far as i can tell it doesn't prevent hysteresis. Since you have a variable upper bound, it can happen that it is temporarily the same as the lower bound or very close in case of low fluid. Say you have a low at 5K ; then if your fluids are in quantity 5001 5001 and 5002, it will switch rapidly from one to another.
First, no need to rush, take your time no stress answer whenever you want , or not if you have other priority, it's a game x) !GluAp wrote: Wed Apr 09, 2025 3:58 am First: It get your point. But in my proposed use case it 'should' not come to this in practice?
I have to have a look on it. Later. I'm done for today.
Hello. Good to make your acquaintance. You can call me Schmitt. Trigger, Schmitt.mmmPI wrote: Wed Apr 09, 2025 5:58 am The 2 combinators build i posted doesn't do the same thing as your build, its logic is simpler, it guarantees that a fluid would be fully consumed from the upper threshold to the lower threshold before changing to the following fluid. It's a trigger Schmitt, i updated to 2.0 an older version someone else made so it could use an arbitrary amount of fluid input. It wouldn't serve well the purpose that you need for the pyanodon use case because if 0 fluid is at the max threshold when the current fuel dries up, it would select no following fuel, just wait for one to reach 25K, and meanwhile power would die. But it works like the wikipedia description of 1 trigger Schmitt. That's what i wanted to clarify regarding the naming.
Actually that works with practically the same limitations as my setup. I believe you can neglect the influence of the pipes as long there aren't tooo many, as the delay comes mainly from emptying the tank at the end. I didn't think about scalability, YET, because it was only a proof of concept for me.This is how i thought to attach your blueprint to tanks for a usecase :
It's a little different than in your pictures, i'm not sure sure how strongly adding pipes impact throughput and adds delay to drain the remaining fluids, i thought if you wanted to scale to "any" number of fluid some bus would be required but now i need to test again without to make sure x)
No. There would have to be at least some kind of hysteresis. Otherwise you get the problem I mentioned before: As the currently used fluid is trickeling in it will block throughput for all the other pipes.The easiest 'naive' solution would be to just have every pump connected to their own tank, and active if their own fluid is above 5000. And them "battle it out" x).
yes correct sorry, the pipes are drained too slowly it doesn't switch fluid when there is a trickle , in my tests that was pet gas running dry due to light oil backing up so no more prod, no trickle and no problems. It was lucky but can't be made to work all the time.GluAp wrote: Wed Apr 09, 2025 1:08 pmNo. There would have to be at least some kind of hysteresis. Otherwise you get the problem I mentioned before: As the currently used fluid is trickeling in it will block throughput for all the other pipes.me wrote: The easiest 'naive' solution would be to just have every pump connected to their own tank, and active if their own fluid is above 5000. And them "battle it out" x).
That reminded me of a (now-broken) other machine from this thread 113114 but at this point we can call it "fluid sushi" or something. It is not only the logic part to associate an output to different situation that can occur. " select a fluid with combinator", It is also the logisitic/routing part of the fluid to the consumer, the left-over and fluid mixing problem.
That's like what my 2 combinator setup is doing ? the risk with this for the proposed used case is that if no fluid is at 25K when one run below 1K, say they are at 23K and 24K the others, then nothing happens and power dies right ?Ranakastrasz wrote: Thu Apr 10, 2025 4:07 pm Currently, I am using the idea from a design from the discord
Each fluid fills a tank and an sr latch opens the pump at 25k and closes below 1k. Ensures it floods the system whenever a fluid caps out, but shuts when little is left.
Aside from no prioritization between fluid types it seems to work. So I still need improvements.
Blame me ?mmmPI wrote: Fri Apr 11, 2025 9:03 pm Tried to finish the thing Shulmeister sent me but ended up making a memory cell that kept track of the most abundant fluid and changed dynamicaly when the most abundant fluid changed, which was the point i realized it was just like using a selector combinator and no memory at all.
Maybe. But I think it is both very unlikely, and unimportant anyway. Just means one will drain, and as soon as it closes, the other one will run, since it is already open.mmmPI wrote: Fri Apr 11, 2025 9:03 pm I 'think' you are correct, i'm not 100% sure, i think it could happen a situation where "no fuel" is consumed, and suddenly 2 fluid at the same time reach 25K threshold and are available, which could have been avoided if one had been consumed before. I am not sure that is possible to happen several time in a row without also meaning a lack of fluid, not "caused" by some fluid backing up, or if it risk creating sustained innefficencies.
I have tried with no sucess to make a smaller footprint for the logic in OP. I like it now because i think in case of low fluid it is reacting 'better', less predictable maybe but it "tries its best to provide what it has", for fuel.
Tried to finish the thing Shulmeister sent me but ended up making a memory cell that kept track of the most abundant fluid and changed dynamicaly when the most abundant fluid changed, which was the point i realized it was just like using a selector combinator and no memory at all.