From 640704af10d61dede9a88728b1d51438233e8cdb Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 9 Dec 2022 02:08:13 +0800 Subject: Add Hint Onboarding, Fix #1156, Fix #1256 --- api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java') 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 2f4a8f45c..3b6e62019 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java @@ -25,12 +25,14 @@ package me.shedaniel.rei.impl; import com.mojang.math.Matrix4f; import com.mojang.serialization.DataResult; +import dev.architectury.utils.value.BooleanValue; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.ClientHelper; import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleTypeRegistry; import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer; import me.shedaniel.rei.api.client.favorites.FavoriteEntry; +import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry; import me.shedaniel.rei.api.client.gui.DrawableConsumer; import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.widgets.*; @@ -70,6 +72,8 @@ public final class ClientInternals { private static Supplier> emptyEntryRenderer = ClientInternals::throwNotSetup; private static Supplier filteringRuleTypeRegistry = ClientInternals::throwNotSetup; private static BiFunction>, Supplier, FavoriteEntry> delegateFavoriteEntry = (supplier, toJson) -> throwNotSetup(); + private static BiFunction, FavoriteMenuEntry> subMenuEntry = (supplier, toJson) -> throwNotSetup(); + private static BiFunction toggleEntry = (supplier, toJson) -> throwNotSetup(); private static Function> favoriteEntryFromJson = (object) -> throwNotSetup(); private static Function clickAreaHandlerResult = (result) -> throwNotSetup(); private static BiConsumer, TooltipComponent> clientTooltipComponentProvider = (tooltip, result) -> throwNotSetup(); @@ -149,6 +153,14 @@ public final class ClientInternals { return delegateFavoriteEntry.apply(supplier, toJoin); } + public static FavoriteMenuEntry createSubMenuEntry(Component name, List entries) { + return subMenuEntry.apply(name, entries); + } + + public static FavoriteMenuEntry createToggleEntry(Component name, BooleanValue value) { + return toggleEntry.apply(name, value); + } + public static DataResult favoriteEntryFromJson(CompoundTag tag) { return favoriteEntryFromJson.apply(tag); } -- cgit