Combinator Contraptions
Posted: Wed Mar 02, 2016 8:01 am
Hi guys! I've recently learned how to build some cool and helpful devices with combinators. I've built clocks, digit displays, multiplexers, ways to detect if a mining drill is empty, train arrival detectors, and other useful contraptions to help around my base. You've all seen those builds before. I'm making this post to show off some of the combinator contraptions I've made so far that don't have much of a purpose.
In this first post I've included a selection of my inventions. Further down in the topic several other people have shown their own creations, asked questions about advanced circuit network use, and expert circuit network users (read "XKnight") have helped out players struggling with specific combinator contraption conundrums of their own. So read on and learn about the all helpful and unhelpful uses of combinators!
WARNING Since the 12.31 update I'm pretty sure these blueprint strings are broken. That is bad. However, the moderators have, in their infinite wisdom, have decided to stickify this topic. They have deemed this topic worthy, and it is my sacred duty to make sure these blueprint strings are accurate. So as soon as 0.13 is released I'll get around to fixing the blueprint strings and ensuring that these contraptions are compatible with any new combinator functions that are introduced. I the meantime I am slowly adding flowchart diagrams to all of my contraptions so that you can clearly see how they work and build them yourself however you like.
The Exponent Calculator
Have you ever needed to find out what exactly is 17^6 but don't want to be bothered with opening up the google calculator? Well now you know it's 24,137,569 thanks to the exponent calculator! This device takes two inputs: signal 0 and signal 1 and calculates the result of (signal 0) ^ (signal 1). Brag to all your friends when you show them the contents of your storage tanks cubed!
Sometimes we have a lot of items in storage and we just want to know which type of item we have the most of. Well I have built a contraption that solves that problem! The largest item finder receives an input of any number items and will output just the type of item that has the largest number of items, If you input 25 coal, 15 iron, and 200 lubricant into the largest item finder, it will correctly tell you that the 200 lube is the highest number. Genius! Now you'll never have to bother with looking at a wire holding your items which conveniently displays them from highest to lowest.
EDIT: After a little more testing with this one it has quite a few limitations. First it won't tell you anything if you input a signal with two or more items tied for the highest number. Also due to division limitations it often fails to determine the highest number when the inputs are close together. If you input 4 coal and 5 fish, the machine will not be able to tell which is bigger. It's the fish you IDIOT!
The game is called Factorio, so why hasn't there been an easy way to calculate factorials in the game until now? This device takes a blue signal input and finds the value of its factorial. 6! = 720. Now you know! This one is especially useless because the highest you can calculate is 12! without going over the game's 32bit signed integer max value.
New and improved, the Variable Signal Delayer 2.0 takes the first tick of a signal coming in and outputs it after waiting a set number of ticks. The minimum delay is now 4 ticks (1 less than before), and the maximum delay is now 2,147,483,647 ticks, in case you want to input a signal and have it output in 414.25 days (I did the math). To adjust this you set the number of signal green in the constant combinator to the right to any number ≥4 which specifies the number of ticks the signal will be delayed. This version also sports 4 less combinators than before and can accept both positive and negative inputs.
Building this contraption is a little more involved. After the entire thing has been built, the combinator marked by the hazard concrete that is holding 1 green signal needs to be deconstructed. This combinator needs to be built for proper function because the decider combinator with Input: "Blue" <"Green" needs to be holding 3 signal blue for the Variable Signal Delayer 2.0 to function properly. Similarly the combinator that holds "≥4 Green" always needs to have at least 4 signal green or the whole thing will not work well.
This creation comes in two parts, the encoder and the decoder. The encoder takes any single signal that is less than 10M and outputs it as a large indecipherable number of signal blue. The decoder takes this large blue number and miraculously converts it back into the same type and amount of the original signal that was fed into the encoder. This is by far the simplest and least useful contraption I have posted here, but it is my hope for the future that it may form the basis of better and more useful contraptions designed by the factorians of tomorrow. Thank you.
I am the proud creator and caretaker of the Pressure Plate mod. A mod which I built to give the player an easier way to directly control aspects of the circuit network. And yet I've done nothing with it. No grand factories that turn on with the flip of a switch, no logistic robot butlers that bring me my battle armor when I press the Jarvis button. Not even a PAX train that comes when I stand on the waiting platform. Well I say no more! The innovation starts tonight! And I will time how long it takes for me to make my smart factory with my brand new pressure plate stopwatch. Built specifically for the absent minded inventor, it's accurate and easy to use. Just stand on the green plate to start the timer, stand on the red plate to stop the timer, and stand on the blue plate to reset the timer. This contraption requires the Pressure Plate mod and is made much more user friendly by hooking the output up to a numeric display, which you can find several great examples of here.
The Decimal Divider
I'm back with the most complicated and spectacular contraption yet! Are you tired of always working with integers? Do you dream of decimal points? Are you failing math class because you only have combinators to do your calculations and you get points off for rounding your answers? I have the solution to your life's petty problems. This contraption divides signal A by signal B and gives the result as signal C and a user configurable precision of decimal places as signal D. Doing math on this level has to be experienced to be believed. In the example above, we can see that 101/34 = 2.970. The constant combinator on the left in this example is holding a value of 1000 blue, which tells the contraption to calculate the answer to the thousandths place. This value can be set to any number divisible by 10 to give a precision up to 9 decimal points. The Decimal Divider can also handle inputs when signal B is larger than signal A. In those cases the result will only be the decimal points of signal D. Warning: do not use to divide by zero.
Unlike some of my other loop based math calculators, the Decimal Divider will always use a constant number of ticks to calculate an answer per a given level of precision. Also the loop tends to goof up upon being built or when changing the decimal place number. If this happens just feed a red signal into the input for 20 to 30 ticks.
Links to other people's contraptions:
XKnight's Signal Queue
XKnight's Signal Picker built for piriform
XKnight's Parallel larger Item Finder built for terror_gnom
XKnight's Same Signal Finder built for terror_gnom
piriform's Signal Time Sorter
piriform's Cheap Limited Multi Memory
Black Ice's computer (no blueprint)
DaveMcW's Signal ID Finder
terror_gnom's Empty Train Station Timer
Guu's Configurable Filter
kann_'s Almost Identical Configurable Filter
siggboy's Write Once Register
Jupiter's 24 Hour Clock (modded)
Please note that I (Dr. Walrus) don't know the limitations of any of these contraptions or what they are used for.
In this first post I've included a selection of my inventions. Further down in the topic several other people have shown their own creations, asked questions about advanced circuit network use, and expert circuit network users (read "XKnight") have helped out players struggling with specific combinator contraption conundrums of their own. So read on and learn about the all helpful and unhelpful uses of combinators!
WARNING Since the 12.31 update I'm pretty sure these blueprint strings are broken. That is bad. However, the moderators have, in their infinite wisdom, have decided to stickify this topic. They have deemed this topic worthy, and it is my sacred duty to make sure these blueprint strings are accurate. So as soon as 0.13 is released I'll get around to fixing the blueprint strings and ensuring that these contraptions are compatible with any new combinator functions that are introduced. I the meantime I am slowly adding flowchart diagrams to all of my contraptions so that you can clearly see how they work and build them yourself however you like.
The Exponent Calculator
Have you ever needed to find out what exactly is 17^6 but don't want to be bothered with opening up the google calculator? Well now you know it's 24,137,569 thanks to the exponent calculator! This device takes two inputs: signal 0 and signal 1 and calculates the result of (signal 0) ^ (signal 1). Brag to all your friends when you show them the contents of your storage tanks cubed!
bLuEpRiNt StRiNg
FlowchaRt DiagRam
The Largest Item FinderSometimes we have a lot of items in storage and we just want to know which type of item we have the most of. Well I have built a contraption that solves that problem! The largest item finder receives an input of any number items and will output just the type of item that has the largest number of items, If you input 25 coal, 15 iron, and 200 lubricant into the largest item finder, it will correctly tell you that the 200 lube is the highest number. Genius! Now you'll never have to bother with looking at a wire holding your items which conveniently displays them from highest to lowest.
EDIT: After a little more testing with this one it has quite a few limitations. First it won't tell you anything if you input a signal with two or more items tied for the highest number. Also due to division limitations it often fails to determine the highest number when the inputs are close together. If you input 4 coal and 5 fish, the machine will not be able to tell which is bigger. It's the fish you IDIOT!
bLuEpRiNt StRiNg
The Factorio Factorial CalculatorThe game is called Factorio, so why hasn't there been an easy way to calculate factorials in the game until now? This device takes a blue signal input and finds the value of its factorial. 6! = 720. Now you know! This one is especially useless because the highest you can calculate is 12! without going over the game's 32bit signed integer max value.
bLuEpRiNt StRiNg
FlowchaRt DiagRam
The Variable Signal Delayer 2.0New and improved, the Variable Signal Delayer 2.0 takes the first tick of a signal coming in and outputs it after waiting a set number of ticks. The minimum delay is now 4 ticks (1 less than before), and the maximum delay is now 2,147,483,647 ticks, in case you want to input a signal and have it output in 414.25 days (I did the math). To adjust this you set the number of signal green in the constant combinator to the right to any number ≥4 which specifies the number of ticks the signal will be delayed. This version also sports 4 less combinators than before and can accept both positive and negative inputs.
Building this contraption is a little more involved. After the entire thing has been built, the combinator marked by the hazard concrete that is holding 1 green signal needs to be deconstructed. This combinator needs to be built for proper function because the decider combinator with Input: "Blue" <"Green" needs to be holding 3 signal blue for the Variable Signal Delayer 2.0 to function properly. Similarly the combinator that holds "≥4 Green" always needs to have at least 4 signal green or the whole thing will not work well.
Blueprint String
FlowchaRt DiagRam
Old Version
The Basic EncoderThis creation comes in two parts, the encoder and the decoder. The encoder takes any single signal that is less than 10M and outputs it as a large indecipherable number of signal blue. The decoder takes this large blue number and miraculously converts it back into the same type and amount of the original signal that was fed into the encoder. This is by far the simplest and least useful contraption I have posted here, but it is my hope for the future that it may form the basis of better and more useful contraptions designed by the factorians of tomorrow. Thank you.
encoder blueprint string
decoder blueprint string
The Pressure Plate StopwatchI am the proud creator and caretaker of the Pressure Plate mod. A mod which I built to give the player an easier way to directly control aspects of the circuit network. And yet I've done nothing with it. No grand factories that turn on with the flip of a switch, no logistic robot butlers that bring me my battle armor when I press the Jarvis button. Not even a PAX train that comes when I stand on the waiting platform. Well I say no more! The innovation starts tonight! And I will time how long it takes for me to make my smart factory with my brand new pressure plate stopwatch. Built specifically for the absent minded inventor, it's accurate and easy to use. Just stand on the green plate to start the timer, stand on the red plate to stop the timer, and stand on the blue plate to reset the timer. This contraption requires the Pressure Plate mod and is made much more user friendly by hooking the output up to a numeric display, which you can find several great examples of here.
blueprint stRing
FlowchaRt DiagRam
The Decimal Divider
I'm back with the most complicated and spectacular contraption yet! Are you tired of always working with integers? Do you dream of decimal points? Are you failing math class because you only have combinators to do your calculations and you get points off for rounding your answers? I have the solution to your life's petty problems. This contraption divides signal A by signal B and gives the result as signal C and a user configurable precision of decimal places as signal D. Doing math on this level has to be experienced to be believed. In the example above, we can see that 101/34 = 2.970. The constant combinator on the left in this example is holding a value of 1000 blue, which tells the contraption to calculate the answer to the thousandths place. This value can be set to any number divisible by 10 to give a precision up to 9 decimal points. The Decimal Divider can also handle inputs when signal B is larger than signal A. In those cases the result will only be the decimal points of signal D. Warning: do not use to divide by zero.
Unlike some of my other loop based math calculators, the Decimal Divider will always use a constant number of ticks to calculate an answer per a given level of precision. Also the loop tends to goof up upon being built or when changing the decimal place number. If this happens just feed a red signal into the input for 20 to 30 ticks.
Blueprint string
flowchart diagram
Feel free to post your own wacky combinator contraptions in this thread. I'd love to see all the other cool unusual combinator builds other people have made! I'm happy to explain how my contraptions work if anyone wants to know, and I love to take requests if you have an idea for what pointless devices I should build next!Links to other people's contraptions:
XKnight's Signal Queue
XKnight's Signal Picker built for piriform
XKnight's Parallel larger Item Finder built for terror_gnom
XKnight's Same Signal Finder built for terror_gnom
piriform's Signal Time Sorter
piriform's Cheap Limited Multi Memory
Black Ice's computer (no blueprint)
DaveMcW's Signal ID Finder
terror_gnom's Empty Train Station Timer
Guu's Configurable Filter
kann_'s Almost Identical Configurable Filter
siggboy's Write Once Register
Jupiter's 24 Hour Clock (modded)
Please note that I (Dr. Walrus) don't know the limitations of any of these contraptions or what they are used for.