Recipes Overview [1.13 and Up] - mezz/JustEnoughItems GitHub Wiki
Vanilla Recipes
JEI has built-in recipes for nearly everything related to crafting. This includes:
- Anvil recipes (Applying enchanted books)
- Potion brewing
- All forms of smelting (campfire, furnace, smoker, and blast furnace)
- Fuel for furnaces
- Regular crafting table recipes
- Stonecutter recipes
If the recipe you are adding is listed above, it is implemented in JEI as the Vanilla Plugin (using the same API as any other mod plugin). Otherwise, if your recipe is NOT listed above, it is a modded recipe.
Modded Recipes
At this point, if you haven't already, you'll want to create a plugin. Afterwards, you'll need to:
- (REQUIRED) Create a recipe category. Examples of categories already in Vanilla include "crafting", "cooking", etc. If you're using another mod's recipe category, this is not required.
- (PRACTICALLY REQUIRED) Register your recipes with the recipe category. This way, JEI knows that your mod's recipes are part of the category you're creating. This can be done in the
registerRecipesfunction of your plugin, callingIRecipeRegistration.addRecipes(RECIPE_LIST, KEY). In this scenario,RECIPE_LISTis a JavaCollectionwith all of the recipes in it, whileKEYis the sameResourceLocationas you return from your recipe category'sgetUid()function. - (OPTIONAL) Register a catalyst or catalysts for the recipe category. This way, JEI knows what to display as the block/item used for the crafting category (ie. Crafting tables for crafting, furnace for cooking, etc.). This can be done in your recipe's
registerRecipeCatalystsfunction, callingIRecipeCatalystRegistration.addRecipeCatalyst(ItemStack, KEY).ItemStackis anItemStackof the item you want to be the catalyst, whileKEYis the same key from step 2. - (OPTIONAL) Register a transfer handler for the recipe category. This way, the + button in JEI will transfer items properly. This can be done using the
IRecipeTransferRegistration.addRecipeTransferHandler()function.