forked from SteamWar/SteamWar
Update SendCommand
This commit is contained in:
@@ -34,13 +34,11 @@ import de.steamwar.velocitycore.VelocityCore;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class SendCommand extends SWCommand {
|
public class SendCommand extends SWCommand {
|
||||||
|
|
||||||
// /send from <server> to <server> [only <users>]
|
|
||||||
// /send to <server> only [<users>]
|
// /send to <server> only [<users>]
|
||||||
// <server> can also be current
|
// <server> can also be current
|
||||||
|
|
||||||
@@ -48,22 +46,8 @@ public class SendCommand extends SWCommand {
|
|||||||
super("send", UserPerm.TEAM);
|
super("send", UserPerm.TEAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register("to")
|
||||||
public void sendCommand(Chatter sender, @StaticValue("from") String from, RegisteredServer fromServer, @StaticValue("to") String to, RegisteredServer toServer) {
|
public void sendCommand(Chatter sender, RegisteredServer toServer, @ArrayLength(min = 1) Player... players) {
|
||||||
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) {
|
|
||||||
for (Player player : players) {
|
for (Player player : players) {
|
||||||
player.createConnectionRequest(toServer).fireAndForget();
|
player.createConnectionRequest(toServer).fireAndForget();
|
||||||
}
|
}
|
||||||
@@ -135,18 +119,9 @@ public class SendCommand extends SWCommand {
|
|||||||
@Override
|
@Override
|
||||||
public Collection<String> tabCompletes(Chatter sender, PreviousArguments previousArguments, String s) {
|
public Collection<String> tabCompletes(Chatter sender, PreviousArguments previousArguments, String s) {
|
||||||
List<RegisteredServer> previous = previousArguments.getAll(RegisteredServer.class);
|
List<RegisteredServer> previous = previousArguments.getAll(RegisteredServer.class);
|
||||||
if (previous.isEmpty()) {
|
if (previous.isEmpty()) return null;
|
||||||
return VelocityCore.getProxy().getAllPlayers().stream().map(Player::getUsername).collect(Collectors.toList());
|
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() == 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();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user