diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-03-20 18:03:04 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-03-20 18:03:04 +0800 |
| commit | 2c29cac8a5e0878696c8e6635f4e41ed4845b41c (patch) | |
| tree | 52e2599cdd561900bcb8c2f22efb665dd4c41529 /runtime/src/main/java/me | |
| parent | 0292fa5317106c46a39cd39e9664936f807b6270 (diff) | |
| download | RoughlyEnoughItems-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 'runtime/src/main/java/me')
3 files changed, 16 insertions, 23 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/FluidEntryDefinition.java index dc3fc0109..b7d6312b4 100644 --- a/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/FluidEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/FluidEntryDefinition.java @@ -34,8 +34,6 @@ import me.shedaniel.architectury.platform.Platform; import me.shedaniel.architectury.utils.Fraction; 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.widgets.Tooltip; import me.shedaniel.rei.api.ingredient.EntryStack; import me.shedaniel.rei.api.ingredient.entry.EntrySerializer; @@ -193,7 +191,7 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS @Override public @Nullable Tooltip getTooltip(EntryStack<FluidStack> entry, Point mouse) { - if (!entry.get(EntryStack.Settings.TOOLTIP_ENABLED).get() || entry.isEmpty()) + if (entry.isEmpty()) return null; List<Component> toolTip = Lists.newArrayList(entry.asFormattedText()); Fraction amount = entry.getValue().getAmount(); @@ -202,20 +200,10 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS if (amountTooltip != null) toolTip.addAll(Stream.of(amountTooltip.split("\n")).map(TextComponent::new).collect(Collectors.toList())); } - ResourceLocation fluidId = null; if (Minecraft.getInstance().options.advancedItemTooltips) { - if (fluidId == null) { - fluidId = Registry.FLUID.getKey(entry.getValue().getFluid()); - } + ResourceLocation fluidId = Registry.FLUID.getKey(entry.getValue().getFluid()); toolTip.add((new TextComponent(fluidId.toString())).withStyle(ChatFormatting.DARK_GRAY)); } - toolTip.addAll(entry.get(EntryStack.Settings.TOOLTIP_APPEND_EXTRA).apply(entry)); - if (entry.get(EntryStack.Settings.TOOLTIP_APPEND_MOD).get() && ConfigObject.getInstance().shouldAppendModNames()) { - if (fluidId == null) { - fluidId = Registry.FLUID.getKey(entry.getValue().getFluid()); - } - ClientHelper.getInstance().appendModIdToTooltips(toolTip, fluidId.getNamespace()); - } return Tooltip.create(toolTip); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/ItemEntryDefinition.java index 6a639bc31..f3c913b72 100644 --- a/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/ItemEntryDefinition.java @@ -231,7 +231,7 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer public void renderOverlay(EntryStack<ItemStack> entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { if (!entry.isEmpty()) { Minecraft.getInstance().getItemRenderer().blitOffset = entry.getZ(); - Minecraft.getInstance().getItemRenderer().renderGuiItemDecorations(Minecraft.getInstance().font, entry.getValue(), bounds.x, bounds.y, entry.get(EntryStack.Settings.COUNTS).apply(entry)); + Minecraft.getInstance().getItemRenderer().renderGuiItemDecorations(Minecraft.getInstance().font, entry.getValue(), bounds.x, bounds.y, null); Minecraft.getInstance().getItemRenderer().blitOffset = 0.0F; } } @@ -249,14 +249,9 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer @Override public @Nullable Tooltip getTooltip(EntryStack<ItemStack> entry, Point mouse) { - if (entry.isEmpty() || !entry.get(EntryStack.Settings.TOOLTIP_ENABLED).get()) + if (entry.isEmpty()) return null; - List<Component> toolTip = tryGetItemStackToolTip(entry, entry.getValue(), true); - toolTip.addAll(entry.get(EntryStack.Settings.TOOLTIP_APPEND_EXTRA).apply(entry)); - if (entry.get(EntryStack.Settings.TOOLTIP_APPEND_MOD).get() && ConfigObject.getInstance().shouldAppendModNames()) { - ClientHelper.getInstance().appendModIdToTooltips(toolTip, Registry.ITEM.getKey(entry.getValue().getItem()).getNamespace()); - } - return Tooltip.create(toolTip); + return Tooltip.create(tryGetItemStackToolTip(entry, entry.getValue(), true)); } } } 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<A> 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 |
