Update SendCommand

This commit is contained in:
2025-01-07 14:27:57 +01:00
parent 55adb1a052
commit 9a8cb543e9
@@ -34,13 +34,11 @@ import de.steamwar.velocitycore.VelocityCore;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class SendCommand extends SWCommand {
// /send from <server> to <server> [only <users>]
// /send to <server> only [<users>]
// <server> can also be current
@@ -48,22 +46,8 @@ public class SendCommand extends SWCommand {
super("send", UserPerm.TEAM);
}
@Register
public void sendCommand(Chatter sender, @StaticValue("from") String from, RegisteredServer fromServer, @StaticValue("to") String to, RegisteredServer toServer) {
sendPlayers(toServer, fromServer.getPlayersConnected());
}
@Register
public void sendCommand(Chatter sender, @StaticValue("from") String from, RegisteredServer fromServer, @StaticValue("to") String to, RegisteredServer toServer, @StaticValue("only") String only, @ArrayLength(min = 1) Player... players) {
sendPlayers(toServer, List.of(players));
}
@Register
public void sendCommand(Chatter sender, @StaticValue("to") String to, RegisteredServer toServer, @StaticValue("only") String only, @ArrayLength(min = 1) Player... players) {
sendPlayers(toServer, List.of(players));
}
private void sendPlayers(RegisteredServer toServer, Collection<Player> players) {
@Register("to")
public void sendCommand(Chatter sender, RegisteredServer toServer, @ArrayLength(min = 1) Player... players) {
for (Player player : players) {
player.createConnectionRequest(toServer).fireAndForget();
}
@@ -135,18 +119,9 @@ public class SendCommand extends SWCommand {
@Override
public Collection<String> tabCompletes(Chatter sender, PreviousArguments previousArguments, String s) {
List<RegisteredServer> previous = previousArguments.getAll(RegisteredServer.class);
if (previous.isEmpty()) {
return VelocityCore.getProxy().getAllPlayers().stream().map(Player::getUsername).collect(Collectors.toList());
}
if (previous.size() == 1) {
Collection<Player> players = previous.get(0).getPlayersConnected();
return VelocityCore.getProxy().getAllPlayers().stream().filter(player -> !players.contains(player)).map(Player::getUsername).collect(Collectors.toList());
}
if (previous.size() == 2) {
Collection<Player> players = previous.get(0).getPlayersConnected();
return players.stream().map(Player::getUsername).collect(Collectors.toList());
}
return Collections.emptyList();
if (previous.isEmpty()) return null;
Collection<Player> players = previous.get(0).getPlayersConnected();
return VelocityCore.getProxy().getAllPlayers().stream().filter(player -> !players.contains(player)).map(Player::getUsername).collect(Collectors.toList());
}
};
}