aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-20 18:03:04 +0800
committershedaniel <daniel@shedaniel.me>2021-03-20 18:03:04 +0800
commit2c29cac8a5e0878696c8e6635f4e41ed4845b41c (patch)
tree52e2599cdd561900bcb8c2f22efb665dd4c41529 /api
parent0292fa5317106c46a39cd39e9664936f807b6270 (diff)
downloadRoughlyEnoughItems-2c29cac8a5e0878696c8e6635f4e41ed4845b41c.tar.gz
RoughlyEnoughItems-2c29cac8a5e0878696c8e6635f4e41ed4845b41c.tar.bz2
RoughlyEnoughItems-2c29cac8a5e0878696c8e6635f4e41ed4845b41c.zip
Remove useless EntryStack settings, properly implement tooltip callbacks
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'api')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/ingredient/EntryStack.java26
1 files changed, 17 insertions, 9 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/ingredient/EntryStack.java b/api/src/main/java/me/shedaniel/rei/api/ingredient/EntryStack.java
index d083b425b..b817c33b6 100644
--- a/api/src/main/java/me/shedaniel/rei/api/ingredient/EntryStack.java
+++ b/api/src/main/java/me/shedaniel/rei/api/ingredient/EntryStack.java
@@ -28,6 +28,7 @@ import com.google.gson.JsonObject;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.JsonOps;
import me.shedaniel.rei.api.gui.Renderer;
+import me.shedaniel.rei.api.gui.widgets.Tooltip;
import me.shedaniel.rei.api.ingredient.entry.EntrySerializer;
import me.shedaniel.rei.api.ingredient.entry.comparison.ComparisonContext;
import me.shedaniel.rei.api.ingredient.entry.renderer.EntryRenderer;
@@ -46,10 +47,8 @@ import net.minecraft.util.Unit;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
+import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -147,6 +146,18 @@ public interface EntryStack<T> extends TextRepresentable, Renderer {
<R> R get(Settings<R> settings);
+ default EntryStack<T> tooltip(Component... tooltips) {
+ return tooltip(Arrays.asList(tooltips));
+ }
+
+ default EntryStack<T> tooltip(List<Component> tooltips) {
+ return tooltip(stack -> tooltips);
+ }
+
+ default EntryStack<T> tooltip(Function<EntryStack<?>, List<Component>> tooltipProvider) {
+ return setting(Settings.TOOLTIP_APPEND_EXTRA, tooltipProvider);
+ }
+
class Settings<R> {
@ApiStatus.Internal
private static final List<Settings<?>> SETTINGS = new ArrayList<>();
@@ -154,15 +165,12 @@ public interface EntryStack<T> extends TextRepresentable, Renderer {
public static final Supplier<Boolean> TRUE = () -> true;
public static final Supplier<Boolean> FALSE = () -> false;
public static final Function<EntryStack<?>, EntryRenderer<?>> DEFAULT_RENDERER = stack -> stack.getDefinition().getRenderer();
+ public static final BiFunction<EntryStack<?>, Tooltip, Tooltip> DEFAULT_TOOLTIP_PROCESSOR = (stack, tooltip) -> tooltip;
public static final Settings<Function<EntryStack<?>, EntryRenderer<?>>> RENDER = new Settings<>(DEFAULT_RENDERER);
@Deprecated
- public static final Settings<Supplier<Boolean>> TOOLTIP_ENABLED = new Settings<>(TRUE);
- @Deprecated
- public static final Settings<Supplier<Boolean>> TOOLTIP_APPEND_MOD = new Settings<>(TRUE);
+ public static final Settings<BiFunction<EntryStack<?>, Tooltip, Tooltip>> TOOLTIP_PROCESSOR = new Settings<>(DEFAULT_TOOLTIP_PROCESSOR);
@Deprecated
public static final Settings<Function<EntryStack<?>, List<Component>>> TOOLTIP_APPEND_EXTRA = new Settings<>(stack -> Collections.emptyList());
- @Deprecated
- public static final Settings<Function<EntryStack<?>, String>> COUNTS = new Settings<>(stack -> null);
private static short nextId;
private R defaultValue;