From 6d5eb08f5f21afdbd7f0cd30ea89aba6e25bca45 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 29 Jan 2022 16:18:03 +0800 Subject: Fix #605 --- .../rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'fabric/src/main/java') diff --git a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java index 370e0bb9c..f3a730371 100644 --- a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java +++ b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java @@ -30,7 +30,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.locale.Language; +import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.Style; +import net.minecraft.util.FormattedCharSequence; import net.minecraft.world.inventory.tooltip.TooltipComponent; import java.util.List; @@ -42,9 +44,10 @@ public class ScreenOverlayImplImpl { List lines = tooltip.entries().stream() .flatMap(component -> { if (component.isText()) { - return Minecraft.getInstance().font.getSplitter().splitLines(component.getAsText(), 100000, Style.EMPTY).stream() - .map(Language.getInstance()::getVisualOrder) - .map(ClientTooltipComponent::create); + List texts = Minecraft.getInstance().font.getSplitter().splitLines(component.getAsText(), 100000, Style.EMPTY); + Stream sequenceStream = texts.isEmpty() ? Stream.of(component.getAsText().getVisualOrderText()) + : texts.stream().map(Language.getInstance()::getVisualOrder); + return sequenceStream.map(ClientTooltipComponent::create); } else { return Stream.of(component.getAsComponent()); } -- cgit