mirror of https://github.com/PaperMC/Paper.git
25 lines
1.4 KiB
Diff
25 lines
1.4 KiB
Diff
--- 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<ServerPlayer, Component> function) {
|
|
- PlayerList playerlist = commandsourcestack.getServer().getPlayerList();
|
|
- List<ServerPlayer> list = playerlist.getPlayers();
|
|
- Component component = ComponentUtils.formatList(list, function);
|
|
+ private static int format(CommandSourceStack source, Function<ServerPlayer, Component> nameExtractor) {
|
|
+ PlayerList playerlist = source.getServer().getPlayerList();
|
|
+ // CraftBukkit start
|
|
+ List<ServerPlayer> 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<ServerPlayer> list = players;
|
|
+ // CraftBukkit end
|
|
+ Component ichatbasecomponent = ComponentUtils.formatList(list, nameExtractor);
|
|
|
|
commandsourcestack.sendSuccess(() -> {
|
|
return Component.translatable("commands.list.players", list.size(), playerlist.getMaxPlayers(), component);
|