diff options
| author | Daniel She <shekwancheung0528@gmail.com> | 2019-02-14 14:38:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-14 14:38:18 +0100 |
| commit | 4d3930cd1d0cb022c0f4908fd8bbc2df55cb21fd (patch) | |
| tree | 063961a16d01e45461b61e22c9d71659a99bff05 /src/main/java/me/shedaniel/rei/api | |
| parent | b84a30d39b0f070c418b33ade4d295fee651ea47 (diff) | |
| download | RoughlyEnoughItems-4d3930cd1d0cb022c0f4908fd8bbc2df55cb21fd.tar.gz RoughlyEnoughItems-4d3930cd1d0cb022c0f4908fd8bbc2df55cb21fd.tar.bz2 RoughlyEnoughItems-4d3930cd1d0cb022c0f4908fd8bbc2df55cb21fd.zip | |
REI Update v2.3 (#35)
* Fixes #33
* Fixes #32
* Fix #29
* Highlight Cursor
* Fix #15
* Remove Unwanted Imports
* Making it actually v2.3
* LOLCATS & Upside Down Lanuage + Credits Screen
* better credits
* Better Config
* Better Config Button Handling + Campfire text using container sub-colour
* Better Plugin Handling
* Split ItemRegisterer out from ClientHelper
* Option to disable default plugin.
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api')
4 files changed, 72 insertions, 3 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..090e26742 --- /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.areEqual(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..8663e76bd --- /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.Identifier; + +public interface IPluginDisabler { + + default public void disablePluginFunctions(Identifier plugin, PluginFunction... functions) { + for(PluginFunction function : functions) + disablePluginFunction(plugin, function); + } + + default public void enablePluginFunctions(Identifier plugin, PluginFunction... functions) { + for(PluginFunction function : functions) + enablePluginFunction(plugin, function); + } + + public void disablePluginFunction(Identifier plugin, PluginFunction function); + + public void enablePluginFunction(Identifier plugin, PluginFunction function); + + public boolean isFunctionEnabled(Identifier 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 064f20abe..6ba6c70e7 100644 --- a/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java +++ b/src/main/java/me/shedaniel/rei/api/IRecipePlugin.java @@ -1,12 +1,18 @@ package me.shedaniel.rei.api; +import me.shedaniel.rei.client.RecipeHelper; + public interface IRecipePlugin { - public void registerPluginCategories(); + default public void onFirstLoad(IPluginDisabler pluginDisabler) {} + + public void registerItems(IItemRegisterer itemRegisterer); + + 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; +} |
