package mezz.jei.api; import javax.annotation.Nonnull; /** * The main class for a plugin. Everything communicated between a mod and JEI is through this class. * IModPlugins must have the @JEIPlugin annotation to get loaded by JEI. * This class must not import anything that could be missing at runtime (i.e. code from any other mod). */ public interface IModPlugin { /** * Called when the IJeiHelpers is available. * IModPlugins should store IJeiHelpers here if they need it. * @deprecated since JEI 2.27.0. Get jeiHelpers from IModRegistry */ @Deprecated void onJeiHelpersAvailable(IJeiHelpers jeiHelpers); /** * Called when the IItemRegistry is available, before register. * @deprecated since JEI 2.27.0. Get itemRegistry from IModRegistry */ @Deprecated void onItemRegistryAvailable(IItemRegistry itemRegistry); /** * Register this mod plugin with the mod registry. * Called just before the game launches. * Will be called again if config */ void register(@Nonnull IModRegistry registry); /** * Called when the IRecipeRegistry is available, after all mods have registered. * @deprecated since JEI 2.23.0. Get the recipe registry from jeiRuntime, passed in onRuntimeAvailable */ @Deprecated void onRecipeRegistryAvailable(@Nonnull IRecipeRegistry recipeRegistry); /** * Called when jei's runtime features are available, after all mods have registered. * @since JEI 2.23.0 */ void onRuntimeAvailable(@Nonnull IJeiRuntime jeiRuntime); }