From 292e2212feb9edbe98c219e18f164ab5b5932559 Mon Sep 17 00:00:00 2001 From: GeorgeRNG <81434111+GeorgeRNG@users.noreply.github.com> Date: Thu, 27 Jun 2024 18:43:27 +0100 Subject: [PATCH] make a text to (& code) string function --- .../java/dev/dfonline/codeclient/Utility.java | 23 +++++++++++++++++++ .../codeclient/action/impl/GetActionDump.java | 20 ++-------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/main/java/dev/dfonline/codeclient/Utility.java b/src/main/java/dev/dfonline/codeclient/Utility.java index aacb894..b409649 100644 --- a/src/main/java/dev/dfonline/codeclient/Utility.java +++ b/src/main/java/dev/dfonline/codeclient/Utility.java @@ -3,6 +3,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import dev.dfonline.codeclient.action.impl.GetActionDump; import dev.dfonline.codeclient.action.impl.PlaceTemplates; import dev.dfonline.codeclient.hypercube.template.Template; import dev.dfonline.codeclient.hypercube.template.TemplateBlock; @@ -353,4 +354,26 @@ public static HashMap getBlockTagLines(ItemStack item) { return options; } + + public static void textToString(Text content, StringBuilder build, GetActionDump.ColorMode colorMode) { + TextColor lastColor = null; + for (Text text : content.getSiblings()) { + TextColor color = text.getStyle().getColor(); + if (color != null && (lastColor != color) && (colorMode != GetActionDump.ColorMode.NONE)) { + lastColor = color; + if (color.getName().contains("#")) { + build.append(String.join(colorMode.text, color.getName().split("")).replace("#", colorMode.text + "x").toLowerCase()); + } else { + build.append(Formatting.valueOf(String.valueOf(color).toUpperCase()).toString().replace("§", colorMode.text)); + } + } + build.append(text.getString()); + } + } + + public static String textToString(Text content) { + var builder = new StringBuilder(); + textToString(content, builder, GetActionDump.ColorMode.SECTION); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/dev/dfonline/codeclient/action/impl/GetActionDump.java b/src/main/java/dev/dfonline/codeclient/action/impl/GetActionDump.java index 96be42d..6c7f664 100644 --- a/src/main/java/dev/dfonline/codeclient/action/impl/GetActionDump.java +++ b/src/main/java/dev/dfonline/codeclient/action/impl/GetActionDump.java @@ -1,14 +1,10 @@ package dev.dfonline.codeclient.action.impl; -import dev.dfonline.codeclient.Callback; -import dev.dfonline.codeclient.CodeClient; -import dev.dfonline.codeclient.FileManager; -import dev.dfonline.codeclient.OverlayManager; +import dev.dfonline.codeclient.*; import dev.dfonline.codeclient.action.Action; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.s2c.play.GameMessageS2CPacket; import net.minecraft.text.Text; -import net.minecraft.text.TextColor; import net.minecraft.util.Formatting; import java.io.IOException; @@ -49,19 +45,7 @@ public boolean onReceivePacket(Packet packet) { return true; } - TextColor lastColor = null; - for (Text text : message.content().getSiblings()) { - TextColor color = text.getStyle().getColor(); - if (color != null && (lastColor != color) && (colorMode != ColorMode.NONE)) { - lastColor = color; - if (color.getName().contains("#")) { - capturedData.append(String.join(colorMode.text, color.getName().split("")).replace("#", colorMode.text + "x").toLowerCase()); - } else { - capturedData.append(Formatting.valueOf(String.valueOf(color).toUpperCase()).toString().replace("§", colorMode.text)); - } - } - capturedData.append(text.getString()); - } + Utility.textToString(message.content(), capturedData, colorMode); String content = message.content().getString(); capturedData.append("\n"); lines += 1;