[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;
@@ -20,6 +21,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);
@@ -96,7 +99,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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.18.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -23,7 +23,7 @@ forge_version=40.2.0
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -23,7 +23,7 @@ forge_version=43.2.0
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -23,7 +23,7 @@ forge_version=45.3.0
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -23,7 +23,7 @@ forge_version=48.1.0
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.20.3:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -26,7 +26,7 @@ neoforge_version=234
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

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) {

View File

@@ -61,6 +61,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -23,7 +23,7 @@ forge_version=46.0.14
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

View File

@@ -6,6 +6,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;
@@ -23,6 +24,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, getRegistryLookup());
@@ -109,7 +112,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) {

View File

@@ -62,6 +62,7 @@ subprojects {
shade "me.hypherionmc.sdlink:mcdiscordformatter-1.20.3:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
compileOnly 'net.luckperms:api:5.4'
compileOnly("org.projectlombok:lombok:${lombok}")

View File

@@ -26,7 +26,7 @@ neoforge_version=0.0-beta
# Dependencies
moon_config=1.0.9
lombok=1.18.32
adventure=4.16.0
adventure=4.17.0
rpc_sdk=1.0
discord_formatter=2.0.0

View File

@@ -1 +1 @@
c808f5384154268c09c915515116124d8e6e1a5d
6f6c93c6ee044003c78fc061fd159efa139e225e

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,11 +9,10 @@
@@ -12,11 +10,10 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -22,7 +22,7 @@
public class ChatUtils {
@@ -25,30 +22,20 @@
@@ -28,30 +25,20 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);
@@ -56,7 +56,7 @@
}
public static String strip(String inString, String... toStrip) {
@@ -77,7 +64,7 @@
@@ -80,7 +67,7 @@
}
public static net.kyori.adventure.text.Component resolve(String component, boolean formatted) {
@@ -65,7 +65,7 @@
if (formatted) {
returnVal = MinecraftSerializer.INSTANCE.serialize(component);
}
@@ -105,7 +92,7 @@
@@ -108,7 +95,7 @@
if (identifier == null)
return net.kyori.adventure.text.Component.text("Unknown");

View File

@@ -19,4 +19,4 @@
+ shade "me.hypherionmc.sdlink:mcdiscordformatter-1.18.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,12 +9,8 @@
@@ -12,12 +10,8 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -21,7 +21,7 @@
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -25,22 +19,12 @@
@@ -28,22 +22,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -19,4 +19,4 @@
+ shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,12 +9,8 @@
@@ -12,12 +10,8 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -21,7 +21,7 @@
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -25,22 +19,12 @@
@@ -28,22 +22,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -19,4 +19,4 @@
+ shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,12 +9,8 @@
@@ -12,12 +10,8 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -21,7 +21,7 @@
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -25,22 +19,12 @@
@@ -28,22 +22,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -19,4 +19,4 @@
+ shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,12 +9,8 @@
@@ -12,12 +10,8 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -21,7 +21,7 @@
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -25,22 +19,12 @@
@@ -28,22 +22,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -8,7 +8,7 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -11,12 +9,8 @@
@@ -12,12 +10,8 @@
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
@@ -21,7 +21,7 @@
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -25,22 +19,12 @@
@@ -28,22 +22,12 @@
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);

View File

@@ -27,4 +27,4 @@
+ shade "me.hypherionmc.sdlink:mcdiscordformatter-1.19.1:${discord_formatter}"
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"