Skip to content

Commit 7f53a8d

Browse files
added the MiniMessageUtil.getMessage(String, String, Object, Map) method
1 parent 2014006 commit 7f53a8d

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

bukkit-utils/src/main/java/com/wizardlybump17/wlib/util/bukkit/MiniMessageUtil.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,32 @@ private MiniMessageUtil() {
3333
return miniMessage.deserialize(message, resolvers);
3434
}
3535

36+
public static @NotNull Component getMessage(@NotNull String message, @NotNull String placeholderKey, @NotNull Object placeholderValue, @NotNull Map<String , ?> additionalPlaceholders) {
37+
MiniMessage miniMessage = MiniMessage.miniMessage();
38+
if (additionalPlaceholders.isEmpty())
39+
return getMessage(message, Map.of(placeholderKey, placeholderValue));
40+
41+
TagResolver[] resolvers = new TagResolver[additionalPlaceholders.size() + 1];
42+
int resolverIndex = 0;
43+
for (Map.Entry<String, ?> entry : additionalPlaceholders.entrySet()) {
44+
String key = entry.getKey();
45+
Object value = entry.getValue();
46+
resolvers[resolverIndex++] = TagResolver.builder()
47+
.tag(
48+
key,
49+
Tag.inserting(value instanceof Component component ? component : Component.text(String.valueOf(value)))
50+
)
51+
.build();
52+
}
53+
resolvers[resolverIndex] = TagResolver.builder()
54+
.tag(
55+
placeholderKey,
56+
Tag.inserting(placeholderValue instanceof Component component ? component : Component.text(String.valueOf(placeholderValue)))
57+
)
58+
.build();
59+
return miniMessage.deserialize(message, resolvers);
60+
}
61+
3662
public static @NotNull Component getMessage(@NotNull String message) {
3763
return getMessage(message, Map.of());
3864
}

0 commit comments

Comments
 (0)