CyclopsMC / IntegratedCrafting

Craft stuff in Integrated Dynamics networks
MIT License
7 stars 6 forks source link

Steel rod recipe from Immersive Engineering shows up as not valid in the crafting interface #93

Closed AlexiyOrlov closed 1 year ago

AlexiyOrlov commented 1 year ago

Issue type:


Short description:

If you put a recipe of steel rod from Immersive Engineering and insert it into a crafting interface, it will show red cross ("recipe is not acceptable by the target"). Recipes of rods from other mods work correctly.

Steps to reproduce the problem:

  1. Make a recipe variable card for steel rod from Immersive Engineering
  2. Put it into crafting interface attached to the crafting table,

Expected behaviour:

Recipe to be accepted.


Versions:

Log file:

rubensworks commented 1 year ago

Thanks for reporting!

rubensworks commented 1 year ago

Do you have any other steel ingot (?) item variants in your pack? If so, does the problem also occur with those?

Can you try making it a tag-based recipe?

AlexiyOrlov commented 1 year ago

Yes, I have steel ingots from Factorium, Mekanism and K-Turrets. I tried a recipe of steel rod from Factorium, and it works. What do you mean by 'tag-based'? Aren't recipes encoded as tag-based by default?

rubensworks commented 1 year ago

tried a recipe of steel rod from Factorium, and it works.

Ok, it sounds like a recipe issue.

Aren't recipes encoded as tag-based by default?

It depends how you create them. If you auto-fill them via JEI, they should be tag-based. If they are created manually, you must enable tags on recipe slots manually by shift-clicking on that slot.

Note to self: check if validation properly takes into account tags.

AlexiyOrlov commented 1 year ago

I created them via JEI, so they were tag-based.

rubensworks commented 1 year ago

This issue appears to be pack-specific, so debugging will be a bit tricky...

@AlexiyOrlov Could you enable the config option logRecipeValidationFailures, try inserting the recipe again into the interface, and share the log line with me? (should contain Recipe validation failure:)

On that line, we should be able to see the first-matching items that are considered for the recipe tags, which will help us determining which items specifically are causing the problem.

AlexiyOrlov commented 1 year ago

Yes: Recipe validation failure: incompatible recipe output and simulated output: Recipe output: [MixedIngredients ingredients: {[IngredientComponent minecraft:itemstack 246833096]:[immersiveengineering:stick_steel 4 null]}] Simulated output: [MixedIngredients ingredients: {[IngredientComponent minecraft:itemstack 246833096]:[factorium:mat_steel_rod 4 null]}]

rubensworks commented 1 year ago

Aha, so the problem is that the JEI recipe is converting IE steel -> factorum steel rod, while the internal recipe is converting IE steel to something else (probably some other steel rod). Is this possible? Are there other variants of steel rods in your pack?

AlexiyOrlov commented 1 year ago

No, there are no other steel rods

rubensworks commented 1 year ago

I just looked into this a bit more, and this seems to be a problem with the JEI recipe (from which you auto-filled the ID recipe). The only thing Integrated Crafting does, is take the recipe inputs, and obtain the recipe's result from the vanilla recipe registry. In this case, the recipe is producing Factorium steel rods, while the recipe from JEI told it would get IE steel sticks. Hence, IC says there's an error (which there is).

Since this is a problem in the JEI recipes that are produced by other mods (or pack creators), there's not much I can do about this on my end unfortunately. Next to fixing the JEI recipes, what you could do, is disabling the crafting check in the crafting interface's settings.