Parse meta_all before meta (#29)

This commit is contained in:
Emilia Dreamer authored and GitHub committed 2021-09-25 20:19:19 +01:00
1 parent 02fa76f72a
commit 17fc4a1b50
1 file changed
+6 -5
@@ -91,16 +91,17 @@ public class LPPlaceholderProvider implements PlaceholderProvider {
builder.addStatic("suffix", (player, user, userData, queryOptions) -> Strings.nullToEmpty(userData.getMetaData(queryOptions).getSuffix()));
builder.addDynamic("meta", (player, user, userData, queryOptions, node) -> {
String value = userData.getMetaData(queryOptions).getMetaValue(node);
return value == null ? "" : value;
});
// meta_all needs to go before meta because they both share the same prefix
builder.addDynamic("meta_all", (player, user, userData, queryOptions, node) -> {
List<String> values = userData.getMetaData(queryOptions).getMeta().getOrDefault(node, ImmutableList.of());
return values.isEmpty() ? "" : String.join(", ", values);
});
builder.addDynamic("meta", (player, user, userData, queryOptions, node) -> {
String value = userData.getMetaData(queryOptions).getMetaValue(node);
return value == null ? "" : value;
});
builder.addDynamic("prefix_element", (player, user, userData, queryOptions, element) -> {
MetaStackElement stackElement = this.luckPerms.getMetaStackFactory().fromString(element).orElse(null);
if (stackElement == null) {