Feature request: Allow non-cobblestone in the combiner
josephcsible opened this issue ยท 9 comments
Currently, the combiner is hardcoded to only combine things with cobblestone, so it's not possible, for example, to add a recipe for it to combine dusts with netherrack to make nether ores. Can its recipe system be updated to support things other than cobblestone, so that other mods (and the upcoming CraftTweaker integration) can add these sorts of recipes?
This might be easier than thought (I know.. I SHOULDN'T SAY THIS, it's always more difficult than I think).
Looks like it it's almost supported. Recipes can already be defined with other gasses than cobblestone. Looks like there's some hardcoded check for cobblestone.
I don't even get why the combiner turns cobblestone into a gas internally. Would it make sense to just rip that out and have it just operate on 2 normal items?
It's a bit like the osmium compressor, accepting an item as input.
I think it will be more like the purification chamber, which looks like it accepts both (items and gas input)
Aaaaand, as I guessed.. It's more complicated! :D It's almost on top of my "TODO with Mekanism"-list
By the way, do you think it's worth doing the same fix to the metallurgic infuser, so you can infuse with anything instead of just the handful of things that you enter as strings right now?
First of all, thank you for all the work you put into Mekanism!
Second of all, it does look good what I saw from a quick scroll through (currently no pc at hand).
I'll read it in more detail later today ;)
The checklist I had for this issue is as follows (maybe you spot something you've totally overlooked):
As an user I want:
- To use recipes with things other than cobblestone
- Use those recipes in the combiner and in the combiner factories
As a (modpack/mod)dev I want:
- To add recipes through IMC
- To add recipes through code (RecipeHandler)
- To allow old code to still function and defaulting to cobblestone/stone
There where two approaches I had in mind, one of which you've implemented.
One which allowed to add other gasses, which led to some issues with how to get them in. Piping? Gastanks? Items conversion to gasses.
The other being getting rid of gasses in the combiner and using straight up the itemstack itself.
Looking at that choice, the later one, with the direct use of the itemstack, seems the most efficient way to go.
I started implementing this on my own: see 1.12...josephcsible:combiner
Do you like the approach I took? If you do, I'll try to finish it up (currently, it doesn't support factories, but I think everything else works).
Didn't have much time to completely look over the code, but so far I do like it :) Keep up the good work!
I think it's finished now (PR #4733).