Skip to content

Commit ccfcae9

Browse files
authored
Merge pull request #3247 from Multiverse/fix/vanila-selector
Hotfix for vanilla selector params getting cut off by comma separation
2 parents f508494 + 07b750f commit ccfcae9

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/main/java/org/mvplugins/multiverse/core/utils/PlayerFinder.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
*/
2020
public final class PlayerFinder {
2121

22+
private static final List<String> VANILLA_SELECTORS = List.of("@a", "@e", "@r", "@p", "@s");
23+
2224
/**
2325
* Get a {@link Player} based on an identifier of name UUID or selector.
2426
*
@@ -80,6 +82,16 @@ public final class PlayerFinder {
8082
return playerResults;
8183
}
8284

85+
// TODO: Currently just assume entire string is a selector. Add support for comma seperated mixture of names, uuids and selectors
86+
if (isSelector(playerIdentifiers)) {
87+
Logging.finer("Using selector: %s", playerIdentifiers);
88+
List<Player> targetPlayers = getMultiBySelector(playerIdentifiers, sender);
89+
if (targetPlayers != null) {
90+
playerResults.addAll(targetPlayers);
91+
}
92+
return playerResults;
93+
}
94+
8395
String[] playerIdentifierArray = REPatterns.COMMA.split(playerIdentifiers);
8496
for (String playerIdentifier : playerIdentifierArray) {
8597
Player targetPlayer = getByName(playerIdentifier);
@@ -100,6 +112,10 @@ public final class PlayerFinder {
100112
return playerResults;
101113
}
102114

115+
private static boolean isSelector(@NotNull String playerIdentifier) {
116+
return VANILLA_SELECTORS.stream().anyMatch(playerIdentifier::startsWith);
117+
}
118+
103119
/**
104120
* Get a {@link Player} based on player name.
105121
*

0 commit comments

Comments
 (0)