Unicopia/src/main/java/com/minelittlepony/unicopia/client/FlowingText.java

23 lines
758 B
Java
Raw Normal View History

2021-12-24 17:35:12 +01:00
package com.minelittlepony.unicopia.client;
import java.util.Optional;
import java.util.stream.Stream;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
public interface FlowingText {
static Stream<Text> wrap(Text text, int maxWidth) {
return MinecraftClient.getInstance().textRenderer.getTextHandler().wrapLines(text, maxWidth, Style.EMPTY).stream().map(line -> {
LiteralText compiled = new LiteralText("");
line.visit((s, t) -> {
compiled.append(new LiteralText(t).setStyle(s));
return Optional.empty();
}, text.getStyle());
return compiled;
});
}
}