Equivalent Exchange 3

Equivalent Exchange 3

2M Downloads

OreStack.getOreStackFromList not return an orestack if more than one oredict entry per item

linuxdaemon opened this issue ยท 5 comments

commented

When EE3 is registering OreDict recipes, if any items have more than one oredict entry registered for them, the opertation fails, caused by OreStack.java:117 because it only allows one entry per item. So, let's say for instance, you have Mekanism and EE3 in the same pack, Mekanism registers redstone as "alloyBasic" along with the default registry of "dustRedstone" which means that Redstone blocks, pistons, dispenser's, and anything else that uses restone and is an oredict recipe does not register into the recipe registry.

commented

I think this one is causing a lot of items missing emc values.

But:
Having a recipe that uses OreDict A with items a1 and a2 from which only 1 has an emc value is kind of the same as having 2 Recipes for which one uses a1 and another one using a2.
And you are already allowing the "Not all recipes for an item need to result in an emc value", so allowing the same thing for OreDicts should not be a problem.

EDIT: So this might also be a problem here. Instead of checking for the same value you could actually 'select' the lowest value - just like if there would be multiple recipes for the item.

commented

See also #828

commented

This is partly to protect in situations where items belong to ore dictionary entries that are not necessarily equivalent in value. It's deeper in the code.

commented

Not sure if this is a bug or not

commented

Closing in order to track issues on the unified ticket #990