/
IRecipeTransferRegistry.java
36 lines (31 loc) · 1.53 KB
/
IRecipeTransferRegistry.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package mezz.jei.api.recipe.transfer;
import javax.annotation.Nonnull;
import net.minecraft.inventory.Container;
/**
* Register recipe transfer handlers here to give JEI the information it needs to transfer recipes into the crafting area.
*/
public interface IRecipeTransferRegistry {
/**
* Basic method for adding a recipe transfer handler.
*
* @param containerClass the class of the container that this recipe transfer handler is for
* @param recipeCategoryUid the recipe categories that this container can use
* @param recipeSlotStart the first slot for recipe inputs
* @param recipeSlotCount the number of slots for recipe inputs
* @param inventorySlotStart the first slot of the available inventory (usually player inventory)
* @param inventorySlotCount the number of slots of the available inventory
*/
void addRecipeTransferHandler(@Nonnull Class<? extends Container> containerClass, @Nonnull String recipeCategoryUid, int recipeSlotStart, int recipeSlotCount, int inventorySlotStart, int inventorySlotCount);
/**
* Advanced method for adding a recipe transfer handler.
*
* Use this when recipe slots or inventory slots are spread out in different number ranges.
*/
void addRecipeTransferHandler(@Nonnull IRecipeTransferInfo recipeTransferInfo);
/**
* Complete control over recipe transfer.
*
* Use this when the container has a non-standard inventory or crafting area.
*/
void addRecipeTransferHandler(@Nonnull IRecipeTransferHandler recipeTransferHandler);
}