aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2023-09-26 10:54:35 +0800
committershedaniel <daniel@shedaniel.me>2023-09-26 10:54:35 +0800
commit2183ee93d46099837999b539c7463c24eda9d6fb (patch)
tree6bfe6d710245b02b0df0bab3bb8daca693f1c559 /api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
parentafb450760b7cc80c7341ae67b5e969a48a0cda2b (diff)
parent001fc846c6002bf70a48dca67cee1437cc11c5e5 (diff)
downloadRoughlyEnoughItems-2183ee93d46099837999b539c7463c24eda9d6fb.tar.gz
RoughlyEnoughItems-2183ee93d46099837999b539c7463c24eda9d6fb.tar.bz2
RoughlyEnoughItems-2183ee93d46099837999b539c7463c24eda9d6fb.zip
Merge remote-tracking branch 'origin/12.x-1.20' into 13.x-1.20.2
# Conflicts: # runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
Diffstat (limited to 'api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java')
-rw-r--r--api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
index d21b59b27..27e4280d1 100644
--- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
+++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
@@ -37,9 +37,12 @@ import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.*;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.screen.ClickArea;
+import me.shedaniel.rei.api.client.registry.transfer.TransferHandler;
import me.shedaniel.rei.api.client.view.ViewSearchBuilder;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
+import me.shedaniel.rei.api.common.entry.InputIngredient;
import me.shedaniel.rei.api.common.plugins.PluginManager;
+import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.components.events.GuiEventListener;
@@ -49,6 +52,7 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.inventory.tooltip.TooltipComponent;
+import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import org.apache.commons.lang3.function.TriFunction;
import org.jetbrains.annotations.ApiStatus;
@@ -71,6 +75,7 @@ public final class ClientInternals {
private static Supplier<PluginManager<REIClientPlugin>> clientPluginManager = ClientInternals::throwNotSetup;
private static Supplier<EntryRenderer<?>> emptyEntryRenderer = ClientInternals::throwNotSetup;
private static Supplier<FilteringRuleTypeRegistry> filteringRuleTypeRegistry = ClientInternals::throwNotSetup;
+ private static Supplier<SimpleTransferHandler> simpleTransferHandler = ClientInternals::throwNotSetup;
private static BiFunction<Supplier<DataResult<FavoriteEntry>>, Supplier<CompoundTag>, FavoriteEntry> delegateFavoriteEntry = (supplier, toJson) -> throwNotSetup();
private static BiFunction<Component, List<FavoriteMenuEntry>, FavoriteMenuEntry> subMenuEntry = (supplier, toJson) -> throwNotSetup();
private static BiFunction<Component, BooleanValue, FavoriteMenuEntry> toggleEntry = (supplier, toJson) -> throwNotSetup();
@@ -185,6 +190,10 @@ public final class ClientInternals {
return filteringRuleTypeRegistry.get();
}
+ public static SimpleTransferHandler getSimpleTransferHandler() {
+ return simpleTransferHandler.get();
+ }
+
@Environment(EnvType.CLIENT)
public interface WidgetsProvider {
boolean isRenderingPanel(Panel panel);
@@ -225,4 +234,8 @@ public final class ClientInternals {
WidgetWithBounds wrapPadded(int padLeft, int padRight, int padTop, int padBottom, WidgetWithBounds widget);
}
+
+ public interface SimpleTransferHandler {
+ TransferHandler.Result handle(TransferHandler.Context context, me.shedaniel.rei.api.client.registry.transfer.simple.SimpleTransferHandler.MissingInputRenderer missingInputRenderer, List<InputIngredient<ItemStack>> inputs, Iterable<SlotAccessor> inputSlots, Iterable<SlotAccessor> inventorySlots);
+ }
}