Skip to content

Commit 9812177

Browse files
authored
Merge pull request #1179 from KyoriPowered/fix/missing-context
fix(minimessage): Carry over target into context deserialize calls
2 parents e3cca7e + 553dd35 commit 9812177

File tree

1 file changed

+15
-5
lines changed
  • text-minimessage/src/main/java/net/kyori/adventure/text/minimessage

1 file changed

+15
-5
lines changed

text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/ContextImpl.java

+15-5
Original file line numberDiff line numberDiff line change
@@ -138,19 +138,21 @@ public UnaryOperator<String> preProcessor() {
138138

139139
@Override
140140
public @NotNull Component deserialize(final @NotNull String message) {
141-
return this.miniMessage.deserialize(requireNonNull(message, "message"), this.tagResolver);
141+
return this.deserializeWithOptionalTarget(requireNonNull(message, "message"), this.tagResolver);
142142
}
143143

144144
@Override
145145
public @NotNull Component deserialize(final @NotNull String message, final @NotNull TagResolver resolver) {
146-
return this.miniMessage.deserialize(requireNonNull(message, "message"),
147-
TagResolver.builder().resolver(this.tagResolver).resolver(requireNonNull(resolver, "resolver")).build());
146+
requireNonNull(message, "message");
147+
final TagResolver combinedResolver = TagResolver.builder().resolver(this.tagResolver).resolver(resolver).build();
148+
return this.deserializeWithOptionalTarget(message, combinedResolver);
148149
}
149150

150151
@Override
151152
public @NotNull Component deserialize(final @NotNull String message, final @NotNull TagResolver@NotNull... resolvers) {
152-
return this.miniMessage.deserialize(requireNonNull(message, "message"),
153-
TagResolver.builder().resolver(this.tagResolver).resolvers(requireNonNull(resolvers, "resolvers")).build());
153+
requireNonNull(message, "message");
154+
final TagResolver combinedResolver = TagResolver.builder().resolver(this.tagResolver).resolvers(resolvers).build();
155+
return this.deserializeWithOptionalTarget(message, combinedResolver);
154156
}
155157

156158
@Override
@@ -168,6 +170,14 @@ public UnaryOperator<String> preProcessor() {
168170
return new ParsingExceptionImpl(message, this.message, cause, false, tagsToTokens(((ArgumentQueueImpl<?>) tags).args));
169171
}
170172

173+
private @NotNull Component deserializeWithOptionalTarget(final @NotNull String message, final @NotNull TagResolver tagResolver) {
174+
if (this.target != null) {
175+
return this.miniMessage.deserialize(message, this.target, tagResolver);
176+
} else {
177+
return this.miniMessage.deserialize(message, tagResolver);
178+
}
179+
}
180+
171181
private static Token[] tagsToTokens(final List<? extends Tag.Argument> tags) {
172182
final Token[] tokens = new Token[tags.size()];
173183
for (int i = 0, length = tokens.length; i < length; i++) {

0 commit comments

Comments
 (0)