diff --git a/common/src/main/java/me/lucko/luckperms/placeholders/LPPlaceholderProvider.java b/common/src/main/java/me/lucko/luckperms/placeholders/LPPlaceholderProvider.java index 838650b..b2189c8 100644 --- a/common/src/main/java/me/lucko/luckperms/placeholders/LPPlaceholderProvider.java +++ b/common/src/main/java/me/lucko/luckperms/placeholders/LPPlaceholderProvider.java @@ -399,6 +399,20 @@ private void setup(PlaceholderBuilder builder) { .map(this::formatDuration) .orElse("") ); + + builder.addDynamic("group_weight", (player, user, userData, queryOptions, groupName) -> + user.getNodes(NodeType.INHERITANCE).stream() + .filter(n -> queryOptions.satisfies(n.getContexts())) + .map(InheritanceNode::getGroupName) + .filter(n -> n.equalsIgnoreCase(groupName)) + .map(n -> this.luckPerms.getGroupManager().getGroup(n)) + .filter(Objects::nonNull) + .map(Group::getWeight) + .filter(OptionalInt::isPresent) + .mapToInt(OptionalInt::getAsInt) + .findFirst() + .orElse(0) + ); } @Override