--- a/net/minecraft/server/commands/ListPlayersCommand.java +++ b/net/minecraft/server/commands/ListPlayersCommand.java @@ -34,10 +33,17 @@ }); } - private static int format(CommandSourceStack commandsourcestack, Function function) { - PlayerList playerlist = commandsourcestack.getServer().getPlayerList(); - List list = playerlist.getPlayers(); - Component component = ComponentUtils.formatList(list, function); + private static int format(CommandSourceStack source, Function nameExtractor) { + PlayerList playerlist = source.getServer().getPlayerList(); + // CraftBukkit start + List players = playerlist.getPlayers(); + if (source.getBukkitSender() instanceof org.bukkit.entity.Player) { + org.bukkit.entity.Player sender = (org.bukkit.entity.Player) source.getBukkitSender(); + players = players.stream().filter((ep) -> sender.canSee(ep.getBukkitEntity())).collect(java.util.stream.Collectors.toList()); + } + List list = players; + // CraftBukkit end + Component ichatbasecomponent = ComponentUtils.formatList(list, nameExtractor); commandsourcestack.sendSuccess(() -> { return Component.translatable("commands.list.players", list.size(), playerlist.getMaxPlayers(), component);