blob: 58d67e97a1147b2711d3e198f3d1c52872afe856 (
plain)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*
* Roughly Enough Items by Danielshe.
* Licensed under the MIT License.
*/
package me.shedaniel.rei.api;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.RecipeManager;
import net.minecraft.util.Identifier;
import java.util.List;
import java.util.Map;
import java.util.Optional;
public interface RecipeHelper {
/**
* @return the api instance of {@link me.shedaniel.rei.client.RecipeHelperImpl}
*/
static RecipeHelper getInstance() {
return RoughlyEnoughItemsCore.getRecipeHelper();
}
int getRecipeCount();
List<Recipe> getVanillaSortedRecipes();
List<ItemStack> findCraftableByItems(List<ItemStack> inventoryItems);
/**
* Registers a category
*
* @param category the category to register
*/
void registerCategory(RecipeCategory category);
/**
* Registers a recipe display
*
* @param categoryIdentifier the category to display in
* @param display the recipe display
*/
void registerDisplay(Identifier categoryIdentifier, RecipeDisplay display);
Map<RecipeCategory, List<RecipeDisplay>> getRecipesFor(ItemStack stack);
/**
* Gets the vanilla recipe manager
*
* @return the recipe manager
*/
RecipeManager getRecipeManager();
/**
* Gets all registered categories
* @return the list of categories
*/
List<RecipeCategory> getAllCategories();
Map<RecipeCategory, List<RecipeDisplay>> getUsagesFor(ItemStack stack);
Optional<ButtonAreaSupplier> getSpeedCraftButtonArea(RecipeCategory category);
void registerSpeedCraftButtonArea(Identifier category, ButtonAreaSupplier rectangle);
void registerDefaultSpeedCraftButtonArea(Identifier category);
List<SpeedCraftFunctional> getSpeedCraftFunctional(RecipeCategory category);
void registerSpeedCraftFunctional(Identifier category, SpeedCraftFunctional functional);
Map<RecipeCategory, List<RecipeDisplay>> getAllRecipes();
void registerRecipeVisibilityHandler(DisplayVisibilityHandler visibilityHandler);
void unregisterRecipeVisibilityHandler(DisplayVisibilityHandler visibilityHandler);
List<DisplayVisibilityHandler> getDisplayVisibilityHandlers();
boolean isDisplayVisible(RecipeDisplay display, boolean respectConfig);
Optional<DisplaySettings> getCachedCategorySettings(Identifier category);
}
|