OreStack.getOreStackFromList not return an orestack if more than one oredict entry per item
linuxdaemon opened this issue ยท 5 comments
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.
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.
See also #828
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.
Closing in order to track issues on the unified ticket #990