CyclopsMC / IntegratedCrafting

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

Recipe containing Oredict ingredients gets rejected by crafting table #45

Closed Kurtchekov closed 4 years ago

Kurtchekov commented 4 years ago

Issue type:


Short description:

Setting up a crafting table recipe to use OreDict for some of the ingredients ends up being rejected in the crafting interface ("Recipe is not acceptable by the target.")

Steps to reproduce the problem:

  1. Bring up the Logic Programmer, choose Recipe and then use JEI to find the recipe in question and add it by clicking the plus sign.
  2. Change some of the ingredients to match OreDict instead. Save it to a variable card.
  3. Insert variable card containing the recipe into the Crafting Interface facing a crafting table.

Expected behaviour:

The tooltip to display "Recipe is valid for the target"


Versions:

image

That's a copper pickaxe. Copper ingots are registered as ingotCopper in the ore dictionary. If I change those ingots in the recipe to match OreDict, the recipe turns invalid. If instead of a copper pickaxe I try to set up the recipe for a constantan pickaxe, the OreDict works fine and the recipe is accepted as expected.

Kurtchekov commented 4 years ago

Okay, I think I have figured out what's causing the issue. I've used CraftTweaker to dump a list of items in each oredict and turns out ingotCopper had a null entry there. Made myself a script that removes null from ingotCopper and now crafting works again! After figuring out what's triggering the issue, I decided to go after the culprit. It seems that the mod UniDict might be behind this. I turned it off and the problem was gone, even without the crafttweaker script. Any chance Integrated Crafting could deal with null values being returned by oredict entries?

rubensworks commented 4 years ago

Thanks for reporting!

Null items definitely are a problem, but it would be good if IC would gracefully handle this.