
Crashes with JEI 15.8.0.10 on Minecraft 1.20.1
mezz opened this issue ยท 2 comments
I released a new version of JEI with backports for features in later versions.
LDLib crashes because it has unsafe mixins into JEI.
Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Invalid descriptor on ldlib-common.mixins.json:jei.JeiRecipeLayoutMixin->@Inject::injectCreate(Lmezz/jei/api/recipe/category/IRecipeCategory;Ljava/util/Collection;Ljava/lang/Object;Lmezz/jei/api/recipe/IFocusGroup;Lmezz/jei/api/runtime/IIngredientManager;Lmezz/jei/api/runtime/IIngredientVisibility;Lmezz/jei/api/helpers/IModIdHelper;Lmezz/jei/common/gui/textures/Textures;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V! Expected (Lmezz/jei/api/recipe/category/IRecipeCategory;Ljava/util/Collection;Ljava/lang/Object;Lmezz/jei/api/recipe/IFocusGroup;Lmezz/jei/api/runtime/IIngredientManager;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V but found (Lmezz/jei/api/recipe/category/IRecipeCategory;Ljava/util/Collection;Ljava/lang/Object;Lmezz/jei/api/recipe/IFocusGroup;Lmezz/jei/api/runtime/IIngredientManager;Lmezz/jei/api/runtime/IIngredientVisibility;Lmezz/jei/api/helpers/IModIdHelper;Lmezz/jei/common/gui/textures/Textures;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V [INJECT Applicator Phase -> ldlib-common.mixins.json:jei.JeiRecipeLayoutMixin -> Apply Injections -> -> Inject -> ldlib-common.mixins.json:jei.JeiRecipeLayoutMixin->@Inject::injectCreate(Lmezz/jei/api/recipe/category/IRecipeCategory;Ljava/util/Collection;Ljava/lang/Object;Lmezz/jei/api/recipe/IFocusGroup;Lmezz/jei/api/runtime/IIngredientManager;Lmezz/jei/api/runtime/IIngredientVisibility;Lmezz/jei/api/helpers/IModIdHelper;Lmezz/jei/common/gui/textures/Textures;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V]
Mixins to other mods should be avoided or done in a fail-safe way.
You can set require = 0
on injects, for example.
If the target is not found, you can log an error and link to the issue tracker here.
What is the mixin into JEI required for? Generally I try to support mods in the API so that they have a stable way to work with the mod.
This is related to the problem I mentioned a long time ago, that ldlib is difficult or impossible to implement Scroll Grid and other widgets in a jei recipe layout, so I used a very hacky technique