Immersive Engineering

Immersive Engineering

143M Downloads

Vanilla recipe book does not properly recognize fluid container items in IE crafting recipes

TheRealWormbo opened this issue · 3 comments

commented

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

  1. Fill a jerrycan with enough creosote oil and get some wooden planks.
  2. Open a crafting table UI and enable the recipe book.
  3. 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

commented

For reference, this was originally reported as VazkiiMods/Botania#3709 for 1.16.5, but the issue still exists on 1.20.1.

commented

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!

commented

Unfortunate, but understandable. Thanks for looking into that anyway.