[FEAT] MiniMessage formatting support

This commit is contained in:
2024-08-31 12:20:41 +02:00
parent 82cbf78330
commit c2d7e0a8a8
33 changed files with 69 additions and 34 deletions

View File

@@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.text.serializer.json.JSONOptions;
import net.minecraft.ChatFormatting;
@@ -17,6 +18,8 @@ public class ChatUtils {
JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
).build();
private static final MiniMessage miniMessage = MiniMessage.miniMessage();
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);
return Component.Serializer.fromJson(serialised);
@@ -93,7 +96,8 @@ public class ChatUtils {
}
public static net.kyori.adventure.text.Component format(String value) {
return net.kyori.adventure.text.Component.translatable(convertFormattingCodes(value));
value = convertFormattingCodes(value);
return miniMessage.deserializeOr(value, net.kyori.adventure.text.Component.translatable(value));
}
private static String convertFormattingCodes(String input) {