diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
| commit | 2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch) | |
| tree | 33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/api | |
| parent | 074a627663e0150e23d47a87486afb852dd2cfdd (diff) | |
| download | RoughlyEnoughItems-2.3.0.17.tar.gz RoughlyEnoughItems-2.3.0.17.tar.bz2 RoughlyEnoughItems-2.3.0.17.zip | |
Same as v2.3 in Fabricv2.3.0.17
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api')
4 files changed, 71 insertions, 4 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java b/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java new file mode 100644 index 000000000..f397b15c0 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java @@ -0,0 +1,35 @@ +package me.shedaniel.rei.api; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public interface IItemRegisterer { + + public List<ItemStack> getItemList(); + + @Deprecated + public List<ItemStack> getModifiableItemList(); + + public ItemStack[] getAllStacksFromItem(Item item); + + public void registerItemStack(Item afterItem, ItemStack stack); + + default public void registerItemStack(Item afterItem, ItemStack... stacks) { + for(ItemStack stack : stacks) + if (stack != null && !stack.isEmpty()) + registerItemStack(afterItem, stack); + } + + default public void registerItemStack(ItemStack... stacks) { + for(ItemStack stack : stacks) + if (stack != null && !stack.isEmpty()) + registerItemStack(null, stack); + } + + default boolean alreadyContain(ItemStack stack) { + return getItemList().stream().anyMatch(stack1 -> ItemStack.areItemStacksEqual(stack, stack1)); + } + +} diff --git a/src/main/java/me/shedaniel/rei/api/IPluginDisabler.java b/src/main/java/me/shedaniel/rei/api/IPluginDisabler.java new file mode 100644 index 000000000..836cd3e6f --- /dev/null +++ b/src/main/java/me/shedaniel/rei/api/IPluginDisabler.java @@ -0,0 +1,23 @@ +package me.shedaniel.rei.api; + +import net.minecraft.util.ResourceLocation; + +public interface IPluginDisabler { + + default public void disablePluginFunctions(ResourceLocation plugin, PluginFunction... functions) { + for(PluginFunction function : functions) + disablePluginFunction(plugin, function); + } + + default public void enablePluginFunctions(ResourceLocation plugin, PluginFunction... functions) { + for(PluginFunction function : functions) + enablePluginFunction(plugin, function); + } + + public void disablePluginFunction(ResourceLocation plugin, PluginFunction function); + + public void enablePluginFunction(ResourceLocation plugin, PluginFunction function); + + public boolean isFunctionEnabled(ResourceLocation plugin, PluginFunction function); + +} diff --git a/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java b/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java index 13b7518bf..6ba6c70e7 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java @@ -1,14 +1,18 @@ package me.shedaniel.rei.api; +import me.shedaniel.rei.client.RecipeHelper; + public interface IRecipePlugin { - default public void onFirstLoad() {} + default public void onFirstLoad(IPluginDisabler pluginDisabler) {} + + public void registerItems(IItemRegisterer itemRegisterer); - public void registerPluginCategories(); + public void registerPluginCategories(RecipeHelper recipeHelper); - public void registerRecipes(); + public void registerRecipeDisplays(RecipeHelper recipeHelper); - public void registerSpeedCraft(); + public void registerSpeedCraft(RecipeHelper recipeHelper); default public int getPriority() { return 0; diff --git a/src/main/java/me/shedaniel/rei/api/PluginFunction.java b/src/main/java/me/shedaniel/rei/api/PluginFunction.java new file mode 100644 index 000000000..bef757db1 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/api/PluginFunction.java @@ -0,0 +1,5 @@ +package me.shedaniel.rei.api; + +public enum PluginFunction { + REGISTER_ITEMS, REGISTER_CATEGORIES, REGISTER_RECIPE_DISPLAYS, REGISTER_SPEED_CRAFT; +} |
