Skip to content

Commit 2a3ee56

Browse files
authored
Update WarnCommand.java
1 parent 17fcc07 commit 2a3ee56

1 file changed

Lines changed: 34 additions & 12 deletions

File tree

src/main/java/ru/allfire/coreprotectionassistant/commands/WarnCommand.java

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -273,18 +273,24 @@ public List<String> tabComplete(CommandSender sender, String[] args) {
273273

274274
if (firstArg.equals("clear")) {
275275
if (args.length == 2) {
276-
List<String> players = new ArrayList<>(
277-
Bukkit.getOnlinePlayers().stream()
278-
.map(Player::getName)
279-
.filter(n -> n.toLowerCase().startsWith(args[1].toLowerCase()))
280-
.toList()
281-
);
276+
List<String> players = new ArrayList<>();
277+
// Онлайн игроки
278+
for (Player p : Bukkit.getOnlinePlayers()) {
279+
if (p.getName().toLowerCase().startsWith(args[1].toLowerCase())) {
280+
players.add(p.getName());
281+
}
282+
}
283+
// Оффлайн игроки (до 20)
284+
int count = 0;
282285
for (OfflinePlayer off : Bukkit.getOfflinePlayers()) {
286+
if (count >= 20) break;
283287
String name = off.getName();
284288
if (name != null && name.toLowerCase().startsWith(args[1].toLowerCase())) {
285-
if (!players.contains(name)) players.add(name);
289+
if (!players.contains(name)) {
290+
players.add(name);
291+
count++;
292+
}
286293
}
287-
if (players.size() >= 20) break;
288294
}
289295
return players;
290296
}
@@ -296,10 +302,26 @@ public List<String> tabComplete(CommandSender sender, String[] args) {
296302
}
297303
} else if (firstArg.equals("list")) {
298304
if (args.length == 2) {
299-
return Bukkit.getOnlinePlayers().stream()
300-
.map(Player::getName)
301-
.filter(n -> n.toLowerCase().startsWith(args[1].toLowerCase()))
302-
.toList();
305+
List<String> players = new ArrayList<>();
306+
// Онлайн игроки
307+
for (Player p : Bukkit.getOnlinePlayers()) {
308+
if (p.getName().toLowerCase().startsWith(args[1].toLowerCase())) {
309+
players.add(p.getName());
310+
}
311+
}
312+
// Оффлайн игроки (до 20)
313+
int count = 0;
314+
for (OfflinePlayer off : Bukkit.getOfflinePlayers()) {
315+
if (count >= 20) break;
316+
String name = off.getName();
317+
if (name != null && name.toLowerCase().startsWith(args[1].toLowerCase())) {
318+
if (!players.contains(name)) {
319+
players.add(name);
320+
count++;
321+
}
322+
}
323+
}
324+
return players;
303325
}
304326
if (args.length == 3) {
305327
return List.of("-s");

0 commit comments

Comments
 (0)