zehmaria / mingle

Adds Fluids and related interactions.
MIT License
0 stars 0 forks source link

[Feature request] Mod clarification and addition #1

Closed zoqin closed 7 months ago

zoqin commented 7 months ago

Hello your mod seems really interesting for modpacking tool, I was wondering if we can create our own interaction ?

If it's not the case, that would be lovely to do it by a mod configuration in game

So we can creat recipe like [Air/Fluid] (Source/stream) [Touch/Merge] (number) [Fluid/Block] [create/replace] (self) [Air/Fluid source/Block] As such we could for example make Water source touch spawner replace self toxic water source Air touch 3 toxic water replace self toxic water source Toxic water merge lava replace self andesite

Its just an example so you could see the idea

Let me know what you think about it Thanks a lot

zehmaria commented 7 months ago

This mod has some interactions configuration under the fluidactions-interactions.toml config file. But they are all under the same type of interactions: something melts using lava, the molten thing gets cooled down by water into something else.

The pattern follows this process chain:

A + LAVA => B + OBISIDIAN ;

B + WATER => C + AIR.

The above always only consider Sources [so the process consumes lava and water]. As a consequence, besides the sources interactions, the mod also adds the corresponding flowing interactions into slag. An example of flowing: Flowing_B + Water = Slag + Water. So, that and a few more.

The dealing with Fluid Sources is because I want to consume/transform stuff from both sides rather than making something like a Cobble/Obsidian Generator. Where for Obsidian it only consumes the lava and leaves the water alone; Where one flowing blocks transform into cobble but leaves the other alone; Stuff like that, one sided transformation.

For something one sided like that, I could have used Custom Fluid Mixin or Immersive Weathering. Both mods allows custom fluid interactions to some degree, where Immersive Weathering is quite more complex and also adds other stuff [which you can also define custom stuff for]. But they can't easily define for example: Water Source + Spawner => Toxic Water Source + Broken Spawner. Stuff where both 'participant blocks' in the interactions must go through 'some change', that's where the stuff I tested began to fail or give me too much headache.

Another modified example from yours that would be difficult to set: (Toxic water merge lava) replaces -> [toxic water side turns to diorite] and [lava side turns into andesite].

To solve the above issue, I created this. Thinking that someone might be looking for this in specific, I also included that config file. But, I did not expose the water and lava in the config, so that cannot be replaced for now. But if you want that, I can probably do so. At least, I can look if it can be done in some way.

However, from the stuff you listed. The 3 cases can be done with Custom Fluid Mixin or Immersive Weathering. And quite easily too. Both might actually fulfill you needs without the extra hoops.

zoqin commented 7 months ago

I get it now what the illustration was showing, reading the mod description left me confuse

Thanks a lot for the clarification and going even further on suggesting other solution, your answer exceed all of my expectation and I think I will use a combination of your mod and custom fluid mixin too to enable full control

Again thanks very much for your extremely well detailed and well put explanation