diff --git a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/tag/resolver/TagResolverBuilderImpl.java b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/tag/resolver/TagResolverBuilderImpl.java index 325c9ac45..edaf3356b 100644 --- a/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/tag/resolver/TagResolverBuilderImpl.java +++ b/text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/tag/resolver/TagResolverBuilderImpl.java @@ -30,6 +30,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collector; +import net.kyori.adventure.text.minimessage.internal.TagInternals; import net.kyori.adventure.text.minimessage.tag.Tag; import org.jetbrains.annotations.NotNull; @@ -48,8 +49,9 @@ final class TagResolverBuilderImpl implements TagResolver.Builder { @Override public TagResolver.@NotNull Builder tag(final @NotNull String name, final @NotNull Tag tag) { + TagInternals.assertValidTagName(requireNonNull(name, "name")); this.replacements.put( - requireNonNull(name, "name"), + name, requireNonNull(tag, "tag") ); return this; diff --git a/text-minimessage/src/test/java/net/kyori/adventure/text/minimessage/tag/TagResolverTest.java b/text-minimessage/src/test/java/net/kyori/adventure/text/minimessage/tag/TagResolverTest.java index c3238b5a4..10ab0c79a 100644 --- a/text-minimessage/src/test/java/net/kyori/adventure/text/minimessage/tag/TagResolverTest.java +++ b/text-minimessage/src/test/java/net/kyori/adventure/text/minimessage/tag/TagResolverTest.java @@ -128,6 +128,12 @@ void testInvalidTagName() { assertThrows(IllegalArgumentException.class, () -> TagResolver.resolver("#test#", Tag.preProcessParsed("something"))); } + // https://github.com/KyoriPowered/adventure/issues/763 + @Test + void testBuilderValidatesTagName() { + assertThrows(IllegalArgumentException.class, () -> TagResolver.builder().tag("INVALID#NAME", Tag.preProcessParsed("something"))); + } + @Test void testValidTagName() { assertDoesNotThrow(() -> TagResolver.resolver("valid_-name0909", Tag.preProcessParsed("something")));