Eventually add Recipe Removal
CrankySupertoonArchive opened this issue ยท 12 comments
This is still relevant, do you plan to add a recipe delete feature to the IC2 mod?
I could implement this using internal API.
The only issue is that I have been quite busy ever since this issue ticket is opened. I hope I can find more free time after this August.
It would be great if you do this, minecraft 1.12.2 is still popular, it has a bunch of interesting mods that are not on newer versions of minecraft.
I also noticed that if you use the items Forge Hammer or Cutter in crafting, they just waste their durability instead of disappearing. It would be nice to be able to control this to be able to remove an item or just waste its durability.
I also noticed that if you use the items Forge Hammer or Cutter in crafting, they just waste their durability instead of disappearing. It would be nice to be able to control this to be able to remove an item or just waste its durability.
I personally believe that this is out of my control. It has something to do with how IC2 implements the decrement of durability upon crafting.
Have you tried Item Transformers?
val hammerButConsumed = <ic2:forge_hammer>.noReturn();
recipes.addShaped("test_recipe_please_ignore", <item:minecraft:diamond>, [[hammerButConsumed, <item:minecraft:dirt>], [null, null]]);
.noReturn()
It really works. I did not know about this before, and found out quite recently. Thanks
Is there any way to do this, yet?
I'd like to remove/replace some recipes that other mods add to IC2 machines, but there doesn't seem to be a way to do that at all.
The mod in question doesn't provide a config to disable its built-in compat recipes. Attempting to add another recipe with the same output makes IC2 crash with a 'conflicting recipe' error.
Am I out of luck here?
I'm specifically wanting to replace Galacticraft's Aluminium ore with Thermal Expansion's.
Galacticraft seems to register explicit recipes, rather than using oreDict, which blocks out TE's ore.
I would change to GC's ore, but the world has already been generated with TE's.
As it sits, if you take a look at IC2 API, you will notice that there is no public methods that allow me to do so...
@Chocohead Something you could consider adding for us :)
Not Happening. The IC2 api doesn't allow it and it's far too ingrained to allow for that easily.
Unless Chocohead proves otherwise that is.
There's absolutely nothing "far too ingrained" about recipe addition or removal, most of the machine recipe lists (as well as the vanilla crafting and furnace ones) are just maps from some kind of input to some kind of output. Whilst of course Craft Tweaker managing an obvious representation for a canning recipe compared to a macerator might be a little harder, it's nothing that couldn't be done.
In fact the only more complicated ones are IListRecipeManager
and IBasicMachineRecipeManager
which take additional liberties being able to rely on the input only ever being an ItemStack
. Even then, BasicMachineRecipeManager
which is the backing for...
- Blast Furnaces
- Block Cutters
- Thermal Centrifuges
- Compressors
- Extractors
- Macerators
- All three Metal Former modes
- and Ore Washing Plants
comes with a removal function just to prove it's possible (which is used to remove the default coin recipe if the appropriate config option is changed). This leaves only the recycler white/black lists without an immediately obvious removal path, one which would be very similar to the aforementioned one to add.
If you're insistent about needing it I can add a boolean remove(I input, RO expectedOutput)
to IMachineRecipeManager
.