diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-09-01 20:00:22 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-09-01 20:01:10 +0800 |
| commit | 21d144a7b605169578ba8e1dc1663d1ab042660d (patch) | |
| tree | c1be3b449d2f36290281a27b8bcdddf86e351d91 /api/src/main/java/me/shedaniel/rei/impl | |
| parent | 1833c18d5f3615d0a4a17689467b32df75dd92f1 (diff) | |
| parent | 8c03832d5ae716beba4047166505181cadd76e75 (diff) | |
| download | RoughlyEnoughItems-21d144a7b605169578ba8e1dc1663d1ab042660d.tar.gz RoughlyEnoughItems-21d144a7b605169578ba8e1dc1663d1ab042660d.tar.bz2 RoughlyEnoughItems-21d144a7b605169578ba8e1dc1663d1ab042660d.zip | |
Merge remote-tracking branch 'shedaniel/11.x-1.19.4' into 12.x-1.20
Diffstat (limited to 'api/src/main/java/me/shedaniel/rei/impl')
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java | 13 |
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); + } } |
