Vanilla recipe book does not properly recognize fluid container items in IE crafting recipes
TheRealWormbo opened this issue · 3 comments
Minecraft Version
1.20.1
Immersive Engineering Version
10.0.0-169
Expected Behavior
Jerrycans should be recognized by the vanilla crafting recipe book as valid item to supply fluid ingredients, e.g. when crafting treated planks.
Actual Behavior
The recipe book only recognizes buckets of creosote oil for the treated planks recipe, not filled jerrycans or any other type of fluid container item.
As a side effect, other mods that use a similar recipe detection approach as the vanilla recipe book also do not recognize these items, e.g. stored recipes on Botania's Assembly/Manufactory Halo.
Steps to reproduce
- Fill a jerrycan with enough creosote oil and get some wooden planks.
- Open a crafting table UI and enable the recipe book.
- Find the recipe for treated planks – if the book knows it, it will be red and cannot be clicked to move the planks and the jerrycan to the crafting grid.
Debug Crash Log
https://gist.github.com/TheRealWormbo/e33c514645862131735178d4fc66423e
For reference, this was originally reported as VazkiiMods/Botania#3709 for 1.16.5, but the issue still exists on 1.20.1.
We can't fix that.
I've gotten it to the point where it will reconize the recipe as being craftable (thus making the button able to be clicked), but when you click it, it won't move the jerry can into the central slot.
This is because Vanillla does an explicit comparison of NBT tags, and thus any mismatching fluid amount in the Jerrycan automatically disqualifies it.
We can't override that in any meaningful capacity, short of doing a Mixin, and I do not feel comfortable in doing that, because it's a pretty core method in Vanilla and manipulating its behavior could have unforseen consequences.
Sorry!