Just Enough Items (JEI)

Just Enough Items (JEI)

391M Downloads

Breaking change in ICustomCraftingCategoryExtension behavior with recipes with no output set

Hubry opened this issue ยท 1 comments

commented
[18:50:08] [Render thread/ERROR]: Found a broken recipe, failed to setRecipe with RecipeLayoutBuilder: Botania botania:dynamic/composite_lens class vazkii.botania.common.crafting.recipe.CompositeLensRecipe

java.lang.IndexOutOfBoundsException: Index: 0
	at java.util.Collections$EmptyList.get(Collections.java:4586) ~[?:?]
	at mezz.jei.plugins.vanilla.crafting.CraftingRecipeCategory.legacySetRecipe(CraftingRecipeCategory.java:100) ~[jei-1.18.1-9.3.3.95.jar%23124!/:9.3.3.95]
	at mezz.jei.plugins.vanilla.crafting.CraftingRecipeCategory.setRecipe(CraftingRecipeCategory.java:87) ~[jei-1.18.1-9.3.3.95.jar%23124!/:9.3.3.95]
[a few lines omitted]
	at mezz.jei.plugins.vanilla.VanillaPlugin.registerRecipes(VanillaPlugin.java:213) ~[jei-1.18.1-9.3.3.95.jar%23124!/:9.3.3.95]

craftingGridHelper.setOutputs(builder, VanillaTypes.ITEM, outputs.get(0));

This gets hit even if a recipe declares an extension that sets the outputs itself using the old APIs but has an empty output in the recipe, eg. Botania's custom recipe extensions. (Builds aren't out on CF yet, only on Jared's jenkins right now).

While I probably should update our JEI integration, this is still a breaking change.

commented

Thanks for the report!
I think it doesn't matter how weird or broken the existing behavior is, the backward compatibility is supposed to support it.
This has been fixed in version 9.4.1.98