aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/ClientHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/ClientHelper.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ClientHelper.java85
1 files changed, 83 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ClientHelper.java b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
index d4648bbaa..e0fbfbed3 100644
--- a/src/main/java/me/shedaniel/rei/api/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
@@ -1,7 +1,11 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.api;
import me.shedaniel.rei.client.ClientHelperImpl;
-import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -10,35 +14,107 @@ import net.minecraft.util.Identifier;
import java.util.List;
import java.util.Map;
-public interface ClientHelper extends ClientModInitializer {
+public interface ClientHelper {
+ /**
+ * @return the api instance of {@link ClientHelperImpl}
+ */
static ClientHelper getInstance() {
return ClientHelperImpl.instance;
}
+ /**
+ * Checks if cheating is enabled
+ *
+ * @return whether cheating is enabled
+ */
boolean isCheating();
+ /**
+ * Sets current cheating mode
+ * Should save the config in {@link ConfigManager}.
+ *
+ * @param cheating the new cheating mode
+ */
void setCheating(boolean cheating);
List<ItemStack> getInventoryItemsTypes();
+ /**
+ * Opens a recipe viewing screen:
+ * {@link me.shedaniel.rei.gui.PreRecipeViewingScreen} if not set
+ * {@link me.shedaniel.rei.gui.RecipeViewingScreen} if set to default
+ * {@link me.shedaniel.rei.gui.VillagerRecipeViewingScreen} if set to villager
+ *
+ * @param map the map of recipes
+ */
void openRecipeViewingScreen(Map<RecipeCategory, List<RecipeDisplay>> map);
+ /**
+ * Registers REI's keybinds using Fabric API.
+ */
void registerFabricKeyBinds();
+ /**
+ * Tries to cheat items using either packets or commands.
+ *
+ * @param stack the stack to cheat in
+ * @return whether it failed
+ */
boolean tryCheatingStack(ItemStack stack);
+ /**
+ * Finds recipe for the item and opens the recipe screen.
+ *
+ * @param stack the stack to find recipe for
+ * @return whether the stack has any recipes to show
+ */
boolean executeRecipeKeyBind(ItemStack stack);
+ /**
+ * Finds usage for the item and opens the recipe screen.
+ *
+ * @param stack the stack to find usage for
+ * @return whether the stack has any usages to show
+ */
boolean executeUsageKeyBind(ItemStack stack);
+ /**
+ * Gets the mod from an item
+ *
+ * @param item
+ * @return the mod name
+ */
String getModFromItem(Item item);
+ /**
+ * Tries to delete the player's cursor item
+ *
+ * @return whether it failed
+ */
void sendDeletePacket();
+ /**
+ * Gets the formatted mod from an item
+ *
+ * @param item
+ * @return the mod name with blue and italic formatting
+ */
String getFormattedModFromItem(Item item);
+ /**
+ * Gets the formatted mod from an identifier
+ *
+ * @param identifier
+ * @return the mod name with blue and italic formatting
+ */
String getFormattedModFromIdentifier(Identifier identifier);
+ /**
+ * Gets the mod from an identifier
+ *
+ * @param identifier
+ * @return the mod name
+ */
String getModFromIdentifier(Identifier identifier);
FabricKeyBinding getRecipeKeyBinding();
@@ -51,5 +127,10 @@ public interface ClientHelper extends ClientModInitializer {
FabricKeyBinding getNextPageKeyBinding();
+ /**
+ * Finds all recipes and open them in a recipe screen.
+ *
+ * @return whether there are any recipes to show
+ */
boolean executeViewAllRecipesKeyBind();
}