aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
commit2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch)
tree33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/api
parent074a627663e0150e23d47a87486afb852dd2cfdd (diff)
downloadRoughlyEnoughItems-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')
-rw-r--r--src/main/java/me/shedaniel/rei/api/IItemRegisterer.java35
-rw-r--r--src/main/java/me/shedaniel/rei/api/IPluginDisabler.java23
-rw-r--r--src/main/java/me/shedaniel/rei/api/IRecipePlugin.java12
-rw-r--r--src/main/java/me/shedaniel/rei/api/PluginFunction.java5
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;
+}