From 2c29cac8a5e0878696c8e6635f4e41ed4845b41c Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 20 Mar 2021 18:03:04 +0800 Subject: Remove useless EntryStack settings, properly implement tooltip callbacks Signed-off-by: shedaniel --- .../main/java/me/shedaniel/rei/impl/AbstractEntryStack.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'runtime/src/main/java/me/shedaniel/rei/impl') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/AbstractEntryStack.java b/runtime/src/main/java/me/shedaniel/rei/impl/AbstractEntryStack.java index dc6eb2e43..8f9cddf1d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/AbstractEntryStack.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/AbstractEntryStack.java @@ -29,6 +29,8 @@ import it.unimi.dsi.fastutil.shorts.Short2ObjectMaps; import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.ClientHelper; +import me.shedaniel.rei.api.config.ConfigObject; import me.shedaniel.rei.api.gui.AbstractRenderer; import me.shedaniel.rei.api.gui.widgets.Tooltip; import me.shedaniel.rei.api.ingredient.EntryStack; @@ -104,7 +106,15 @@ public abstract class AbstractEntryStack extends AbstractRenderer implements @Override @Nullable public Tooltip getTooltip(Point mouse) { - return this.getDefinition().getRenderer().getTooltip(this, mouse); + Tooltip[] tooltip = {this.getDefinition().getRenderer().getTooltip(this, mouse)}; + if (tooltip[0] == null) return null; + tooltip[0].getText().addAll(get(EntryStack.Settings.TOOLTIP_APPEND_EXTRA).apply(this)); + tooltip[0] = get(EntryStack.Settings.TOOLTIP_PROCESSOR).apply(this, tooltip[0]); + if (tooltip[0] == null) return null; + if (ConfigObject.getInstance().shouldAppendModNames()) { + getIdentifier().ifPresent(location -> ClientHelper.getInstance().appendModIdToTooltips(tooltip[0].getText(), location.getNamespace())); + } + return tooltip[0]; } @Override -- cgit