Separating elements is not difficult except if they're both molten metals/minerals. Usually STOR with a set ctype will do it but in the case of molten things the game treats them all as LAVA.
Initially wanted to suggest adding a tmp mode to STOR to make it store particles based on the whether the target particle's ctype (instead of the actual type) matches STOR's ctype, which would allow it to inhale specific types of LAVA (and BIZR or PHOT), but it looks like all 4 of STOR's tmp values are being used so that won't work.
Soooo... I'm thinking of adding it as a new element called CSTO (ctype-based storage). I am a dev for my day job so I will probably fork the repo and have a go of making it myself (although I've not used C++ for a few years), I've just gotta find time. In theory it should be a lift-and-shift job taking STOR and changing which property it looks at. I thought it might be good to throw the idea out and see if anyone had any more ideas how it could be used, or whether it's not a great fit.
Yes you can cool things with different melting points to separate them (like actual industrial processes), but LAVA seems to always have the same density regardless of its ctype so in cases like molten SLCN + molten BMTL -> molten PSCN/NSCN where the PSCN/NSCN mix cools before the BMTL, it can be very difficult to get total accurate separation (this exact problem that gave me this idea). CSTO would solve that.
I mentioned BIZR and PHOT earlier but I need to check, for these elements does their ctype always correspond to their wavelength, or can it be like FILT where it can be the temp if ctype is not set? CSTO could be useful for separating PHOT/BIZR/BIZG by color if the former is true.
Maybe the community concensus is that it's too specific of a use case, and designing an effective separating machine is part of the "challenge" of TPT and shouldn't be added. What do people think? If it's not loudly booed I will give it a go.
This is a pretty good idea. You can already separate a solid from a liquid by making a thin layer of the mix and by lifting out the solid particles with a PSTN and FRME combo because solids stick to FRME but liquids don't. It's pretty finicky to get right tho.
I never even considered using PSTN/FRME but I may try that, thanks!
Working on CSTO now but if it is added I don't think it'll be before I've finished the save that inspired it (an automated element factory), so for now my solution is just to melt/mix/drain one particle of molten BRMT and SLCN at a time in an array of tiny furnaces. As long as they touch before I drain them, I should always get one particle of PSCN and one NSCN every time with no impurities sneaking through.
edit:
I did end up making a pull request on github for it: https://github.com/The-Powder-Toy/The-Powder-Toy/pull/972, it seems to work as expected so I'm happy with it but still won't be using it in this save so people can actually see it regardless of whether it's accepted. Not sure about the colour but the green I initially went for was too similar to LDTC.