mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-22 17:17:37 +00:00
Add vanish filtering to list
This commit is contained in:
parent
fff35ad34c
commit
5f12a1532f
@ -18,7 +18,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@CommandParameters(name = "list", description = "Show a list of all online players", usage = "/<command> [-d]", aliases = "lsit,who,playerlist,online")
|
@CommandParameters(name = "list", description = "Show a list of all online players", usage = "/<command> [-d | -v]", aliases = "lsit,who,playerlist,online")
|
||||||
@CommandPermissions(permission = "plex.list")
|
@CommandPermissions(permission = "plex.list")
|
||||||
public class ListCMD extends PlexCommand
|
public class ListCMD extends PlexCommand
|
||||||
{
|
{
|
||||||
@ -26,7 +26,15 @@ public class ListCMD extends PlexCommand
|
|||||||
protected Component execute(@NotNull CommandSender sender, @Nullable Player playerSender, String[] args)
|
protected Component execute(@NotNull CommandSender sender, @Nullable Player playerSender, String[] args)
|
||||||
{
|
{
|
||||||
List<Player> players = Lists.newArrayList(Bukkit.getOnlinePlayers());
|
List<Player> players = Lists.newArrayList(Bukkit.getOnlinePlayers());
|
||||||
|
if (args.length > 0 && args[0].equalsIgnoreCase("-v"))
|
||||||
|
{
|
||||||
|
checkPermission(sender, "plex.list.vanished");
|
||||||
|
players.removeIf(player -> !PlayerMeta.isVanished(player));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
players.removeIf(PlayerMeta::isVanished);
|
players.removeIf(PlayerMeta::isVanished);
|
||||||
|
}
|
||||||
Component list = Component.empty();
|
Component list = Component.empty();
|
||||||
Component header = PlexUtils.messageComponent(players.size() == 1 ? "listHeader" : "listHeaderPlural", players.size(), Bukkit.getMaxPlayers());
|
Component header = PlexUtils.messageComponent(players.size() == 1 ? "listHeader" : "listHeaderPlural", players.size(), Bukkit.getMaxPlayers());
|
||||||
send(sender, header);
|
send(sender, header);
|
||||||
@ -62,7 +70,7 @@ public class ListCMD extends PlexCommand
|
|||||||
{
|
{
|
||||||
if (args.length == 1 && silentCheckPermission(sender, this.getPermission()))
|
if (args.length == 1 && silentCheckPermission(sender, this.getPermission()))
|
||||||
{
|
{
|
||||||
return Collections.singletonList("-d");
|
return List.of("-d", "-v");
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user