diff --git a/src/main/java/com/formlesslab/ae2additions/compat/jei/InfinityCellJeiPlugin.java b/src/main/java/com/formlesslab/ae2additions/compat/jei/InfinityCellJeiPlugin.java index 6dfa716..7bf87bb 100644 --- a/src/main/java/com/formlesslab/ae2additions/compat/jei/InfinityCellJeiPlugin.java +++ b/src/main/java/com/formlesslab/ae2additions/compat/jei/InfinityCellJeiPlugin.java @@ -1,12 +1,15 @@ package com.formlesslab.ae2additions.compat.jei; import com.formlesslab.ae2additions.init.ModContent; +import mezz.jei.api.IJeiRuntime; import mezz.jei.api.IModPlugin; import mezz.jei.api.IModRegistry; import mezz.jei.api.ISubtypeRegistry; import mezz.jei.api.JEIPlugin; +import mezz.jei.api.ingredients.IIngredientRegistry; import mezz.jei.api.ingredients.VanillaTypes; import net.minecraft.item.ItemStack; +import org.jspecify.annotations.NonNull; import java.util.List; @@ -16,19 +19,26 @@ @JEIPlugin public final class InfinityCellJeiPlugin implements IModPlugin { + private IIngredientRegistry ingredientRegistry; + @Override - public void registerItemSubtypes(ISubtypeRegistry subtypeRegistry) { + public void registerSubtypes(ISubtypeRegistry subtypeRegistry) { // JEI must not merge the different configurations of the shared item. subtypeRegistry.useNbtForSubtypes(ModContent.INFINITY_CELL); } @Override public void register(IModRegistry registry) { + ingredientRegistry = registry.getIngredientRegistry(); + } + + @Override + public void onRuntimeAvailable(@NonNull IJeiRuntime jeiRuntime) { List variants = ModContent.getInfinityCellVariants(); if (variants.isEmpty()) { return; } - registry.getIngredientRegistry().addIngredientsAtRuntime(VanillaTypes.ITEM, variants); + ingredientRegistry.addIngredientsAtRuntime(VanillaTypes.ITEM, variants); } }