Integrated Dynamics

Integrated Dynamics

63M Downloads

Recipes with oreDictionary won't save properly in some cases

Pikachuun opened this issue ยท 2 comments

commented

Short description:

In some modpacks (i.e. Enigmatica 2 Expert), attempting to save some recipes with oreDictionary support will result in a recipe variable card with value null (well technically not null but an empty space but it may as well be that).
It saves properly outside of this modpack, leading me to believe it has something to do with the amount of entries that exist for that particular material in the oreDictionary, as there are no other bugs with variable cards present (whether recipe-based or not). Unsure if this also occurs in other modpacks, haven't checked, but it should if my theory is correct.

Steps to reproduce the problem:

  1. Open Enigmatica 2 Expert.
  2. Create any world, obtain Portable Logic Programmer and a variable card.
  3. Create any recipe using any type of plankWood.
  4. Set the type of any plank in the recipe to oreDictionary
  5. Observe.

Expected behaviour:

The recipe should save to the variable card properly, with oreDictionary support.


Versions:

  • This mod: 1.0.4 (upgraded it manually after I noticed the problem was occurring to verify, also occurred in 1.0.2)
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2781

Log file:

Pointless. There's no error raised whatsoever related to this mod (I checked multiple times) so it wouldn't really help.
Here are some screenshots, though, to prove it's actually a thing that is happening, containing the JEI search results for plankWood. I used the crafting table as an example, but this also occurs with beds/sticks.

commented

Note to self: make the LP construct a RecipeDefinition that lazily instantiates oredict inputs. Entries then have to be determined dynamically. This will solve the problem where NBT tags become too large.

commented

Oredict recipe ingredients are now stored by oredict reference instead of all oredict entries. This allows recipes to be stored a lot more efficiently, which should resolve this issue.