Mordenkainen / Technomancy

Magic and Science, what can go wrong
15 stars 8 forks source link

Essentia Coil feeds Alchemical Centrifuge wrongly. #164

Closed Reassembly closed 8 years ago

Reassembly commented 8 years ago

When using an Essentia Coil to feed essentia into an alchemical centrifuge (from the bottom, of course), the essentia is passed through the centrifuge unmodified, rather than being broken down into components, e.g. feeding in Herba will cause the centrifuge to output Herba essentia, rather than the expected Victus and Terra.

The centrifuge does not spin during this process, and the transmitted essentia is ejected much more rapidly than a centrifuge typically does while breaking down essentia. I suspect that the essentia coil is somehow feeding essentia into the centrifuge's ouput, rather than into its input.

The unmodified essentia can be extracted as normal, such as via tubes, buffers, or a second centrifuge (which does properly process the essentia as expected), So there is a workaround for this, but it seems like unintended behavior, as there is no mention in the Thaumonomicon of essentia coils being incompatible with centrifuges.

Mordenkainen commented 8 years ago

The essentia coil needs special handling added for certain blocks.

It would appear that the Centrifuge is one of them.

I believe the fix is pretty simple, but I do not think there are any more 1.7.10 releases planned for Technomancy.

If I get the chance, I will take a look and see if I can fix it, but from there is it up to @theflogat to decide if he wants to make a new release.

Reassembly commented 8 years ago

If that happens, that'll be unfortunate, but understandable. TC and Blood Magic are being worked on for 1.8.x, even if Thermal Expansion and Botania aren't (yet).

Still, I find it odd that an incompatibility with a common Thaumcraft device has persisted all the way to the end of this development cycle. I can't believe I could have been the first person to try what I described above. Are centrifuges just not "cool"?

Mordenkainen commented 8 years ago

I can't speak for others but I almost never use the centrifuge, and have never tried to use it with a Essentia Coil.

The logic for the coil was rewritten a dozen or so releases ago, and at that time I asked users to report if they found any devices it didn't work with. We didn't get any reports of this at that time.

Reassembly commented 8 years ago

...wow. I'm genuinely surprised. They're so freakin' useful. I mean, I can understand that not every Thaumcraft player gets deep into alchemy, but I'm stunned that no TC+TM players tried.

Even without Technomancy, I've made fairly heavy use of centrifuges to get useful (simpler) essentia out of compound essentia that's easier to farm and/or would go to waste, e.g. saplings-> Herba+Arbor-> Herba+MoreHerba-> growth lamps-> tree farm, sand-> glass-> Vitreus-> Ordo = you never have enough damn Ordo, etc.

Adding the Essentia Fusor into the workflow just makes breaking down essentia even more useful. For example, a wheat farm and a gravel generator (or just countless waste piles of gravel) can be turned into a Lucrum farm, ready to pave the horizons with gold and/or emerald.

I guess I'm sorry I didn't start using Technomancy earlier, so I could have let you know about this issue in a more timely fashion. I'll just double up my coil-equipped centrifuges add a much cheaper Essentia Buffer under my centrifuges and hook the Coil to that (which totally works), then.

Reassembly commented 8 years ago

On further testing, it turns out that using an Essentia Buffer as an interface between an Essentia Coil and another piece of equipment not only fixes the problem with centrifuges, but also allows Coils to feed essentia to thaumaturgical machines from other mods that aren't compatible with the base Essentia Coil.

For example, Essentia Coils won't connect to an Essentia Dynamo from Thaumic Horizons (which is an essentia-powered artificial centi-vis node, not related to Technomancy's same-named Essentia Dynamo). But a Coil will connect to a Buffer, which can then feed the Dynamo.

The only hiccup seems to be that Coils won't show a visible connection with the Buffers they're stuck to - there's a tiny gap, instead of a tiny pipe section. However, it's completely functional, as far as passing essentia to "incompatible" machines.

Mentioning this in the documentation might be easier than rewriting the Essentia Coil's code to handle a list of edge-cases, as well as allowing for greater compatibility. This is verging off of the main issue, so I'll make a new one.