package mezz.jei.api.recipe.transfer; import java.util.List; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; /** * Gives JEI the information it needs to transfer recipes from a slotted inventory into the crafting area. * * Most plugins should create new IRecipeTransferInfo instances with IModRegistry.createRecipeTransferHelper. * Containers with slot ranges that contain gaps or other oddities can implement this interface directly. * Containers that need full control over the recipe transfer or do not use slots can implement IRecipeTransferHandler. */ public interface IRecipeTransferInfo { /** * Return the container class that this recipe transfer helper supports */ Class<? extends Container> getContainerClass(); /** * Return the recipe category that this container can handle. */ String getRecipeCategoryUid(); /** * Return a list of slots for the recipe area. */ List<Slot> getRecipeSlots(Container container); /** * Return a list of slots that the transfer can use to get items for crafting, or place leftover items. */ List<Slot> getInventorySlots(Container container); }