aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-06-19 20:05:32 +0800
committershedaniel <daniel@shedaniel.me>2023-05-29 21:01:43 +0800
commita89a2d86725d73e69f6aede759f7c097b4880958 (patch)
tree0d9609943fd61060201bf80c7c13b2b689b120fc /api/src/main/java
parentb0cac6544fc10860702acfa70123e1f224cf1b76 (diff)
downloadRoughlyEnoughItems-a89a2d86725d73e69f6aede759f7c097b4880958.tar.gz
RoughlyEnoughItems-a89a2d86725d73e69f6aede759f7c097b4880958.tar.bz2
RoughlyEnoughItems-a89a2d86725d73e69f6aede759f7c097b4880958.zip
Add isSearch into TooltipContext and add TooltipContext into asFormattedText
Diffstat (limited to 'api/src/main/java')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/TooltipContext.java12
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java5
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/TextRepresentable.java5
-rw-r--r--api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java7
4 files changed, 25 insertions, 4 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/TooltipContext.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/TooltipContext.java
index 7bc2ecd15..598bbc292 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/TooltipContext.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/TooltipContext.java
@@ -35,12 +35,20 @@ import org.jetbrains.annotations.Nullable;
@Environment(EnvType.CLIENT)
@ApiStatus.NonExtendable
public interface TooltipContext {
+ static TooltipContext of() {
+ return TooltipContext.of(new Point());
+ }
+
static TooltipContext of(Point point) {
return TooltipContext.of(point, null);
}
static TooltipContext of(Point point, @Nullable TooltipFlag flag) {
- return ClientInternals.createTooltipContext(point, flag);
+ return TooltipContext.of(point, flag, false);
+ }
+
+ static TooltipContext of(Point point, @Nullable TooltipFlag flag, boolean isSearch) {
+ return ClientInternals.createTooltipContext(point, flag, isSearch);
}
static TooltipContext ofMouse() {
@@ -50,4 +58,6 @@ public interface TooltipContext {
TooltipFlag getFlag();
Point getPoint();
+
+ boolean isSearch();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java
index 7734a4ff5..d2a3f2e37 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java
@@ -24,6 +24,7 @@
package me.shedaniel.rei.api.common.entry.type;
import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.common.entry.EntrySerializer;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.comparison.ComparisonContext;
@@ -170,6 +171,10 @@ public interface EntryDefinition<T> {
Component asFormattedText(EntryStack<T> entry, T value);
+ default Component asFormattedText(EntryStack<T> entry, T value, TooltipContext context) {
+ return asFormattedText(entry, value);
+ }
+
Collection<ResourceLocation> getTagsFor(TagContainer tagContainer, EntryStack<T> entry, T value);
@ApiStatus.NonExtendable
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/TextRepresentable.java b/api/src/main/java/me/shedaniel/rei/api/common/util/TextRepresentable.java
index 2638805e6..6b9356feb 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/util/TextRepresentable.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/util/TextRepresentable.java
@@ -23,6 +23,7 @@
package me.shedaniel.rei.api.common.util;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import net.minecraft.network.chat.Component;
/**
@@ -33,6 +34,10 @@ public interface TextRepresentable {
return ImmutableTextComponent.EMPTY;
}
+ default Component asFormattedText(TooltipContext context) {
+ return asFormattedText();
+ }
+
default Component asFormatStrippedText() {
return new ImmutableTextComponent(FormattingUtils.stripFormatting(asFormattedText().getString()));
}
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 38ed7c4c4..7164ea085 100644
--- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
+++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
@@ -45,6 +45,7 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.TooltipFlag;
+import org.apache.commons.lang3.function.TriFunction;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -66,7 +67,7 @@ public final class ClientInternals {
private static Function<CompoundTag, DataResult<FavoriteEntry>> favoriteEntryFromJson = (object) -> throwNotSetup();
private static Function<Boolean, ClickArea.Result> clickAreaHandlerResult = (result) -> throwNotSetup();
private static BiFunction<@Nullable Point, Collection<Component>, Tooltip> tooltipProvider = (point, texts) -> throwNotSetup();
- private static BiFunction<Point, @Nullable TooltipFlag, TooltipContext> tooltipContextProvider = (point, texts) -> throwNotSetup();
+ private static TriFunction<Point, @Nullable TooltipFlag, Boolean, TooltipContext> tooltipContextProvider = (point, texts, search) -> throwNotSetup();
private static Supplier<List<String>> jeiCompatMods = ClientInternals::throwNotSetup;
private static Supplier<Object> builtinClientPlugin = ClientInternals::throwNotSetup;
@@ -123,8 +124,8 @@ public final class ClientInternals {
return tooltipProvider.apply(point, texts);
}
- public static TooltipContext createTooltipContext(Point point, @Nullable TooltipFlag flag) {
- return tooltipContextProvider.apply(point, flag);
+ public static TooltipContext createTooltipContext(Point point, @Nullable TooltipFlag flag, boolean isSearch) {
+ return tooltipContextProvider.apply(point, flag, isSearch);
}
public static FavoriteEntry delegateFavoriteEntry(Supplier<DataResult<FavoriteEntry>> supplier, Supplier<CompoundTag> toJoin) {