diff --git a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/MiniMessageParser.java b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/MiniMessageParser.java index 3fda3e3a3b..a3d0df669b 100644 --- a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/MiniMessageParser.java +++ b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/MiniMessageParser.java @@ -63,7 +63,6 @@ final class MiniMessageParser { @NotNull String escapeTokens(final @NotNull String richMessage, final @NotNull ContextImpl context) { final StringBuilder sb = new StringBuilder(richMessage.length()); - tryToNag(richMessage, context.strict()); this.escapeTokens(sb, richMessage, context); return sb.toString(); } @@ -87,7 +86,6 @@ void escapeTokens(final StringBuilder sb, final @NotNull String richMessage, fin @NotNull String stripTokens(final @NotNull String richMessage, final @NotNull ContextImpl context) { final StringBuilder sb = new StringBuilder(richMessage.length()); - tryToNag(richMessage, context.strict()); this.processTokens(sb, richMessage, context, (token, builder) -> {}); return sb.toString(); } @@ -129,7 +127,6 @@ private void processTokens(final @NotNull StringBuilder sb, final @NotNull Strin } catch (final IOException ignored) { } } - tryToNag(richMessage, context.strict()); final Function transformationFactory; if (debug != null) { @@ -250,10 +247,4 @@ private Component handleModifying(final Modifying modTransformation, final Compo private String sanitizePlaceholderName(final String name) { return name.toLowerCase(Locale.ROOT); } - - private void tryToNag(final String input, final boolean strict) { - if (input.contains("§") && strict) { - throw new IllegalArgumentException("Legacy formatting codes have been detected in a component - this is unsupported behaviour. Please refer to the Adventure documentation (https://docs.adventure.kyori.net) for more information."); - } - } } diff --git a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/parser/TokenParser.java b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/parser/TokenParser.java index 4b5239dcd5..2f13bab6a9 100644 --- a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/parser/TokenParser.java +++ b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/parser/TokenParser.java @@ -503,6 +503,8 @@ private static ElementNode buildTree( throw new ParsingException(sb.toString(), message, errorTokens); } + tryToNag(message, strict); + return root; } @@ -672,4 +674,17 @@ public static String unescape(final String text, final int startIndex, final int return sb.toString(); } + + /** + * Nags the user about using legacy symbol, if they used it. + * + * @param input the input text + * @param strict strict mode + * @since 4.10.0 + */ + private static void tryToNag(final String input, final boolean strict) { + if (input.contains("§") && strict) { + throw new IllegalArgumentException("Legacy formatting codes have been detected in a component - this is unsupported behaviour. Please refer to the Adventure documentation (https://docs.adventure.kyori.net) for more information."); + } + } }