Skip to content

Commit 9978731

Browse files
authored
GH-876 Prevent tabulate vanished players. (#876)
1 parent 4996717 commit 9978731

File tree

1 file changed

+16
-5
lines changed
  • eternalcore-core/src/main/java/com/eternalcode/core/bridge/litecommand/argument

1 file changed

+16
-5
lines changed

eternalcore-core/src/main/java/com/eternalcode/core/bridge/litecommand/argument/PlayerArgument.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.eternalcode.core.bridge.litecommand.argument;
22

3+
import com.eternalcode.core.feature.vanish.VanishService;
34
import com.eternalcode.core.injector.annotations.Inject;
45
import com.eternalcode.core.injector.annotations.lite.LiteArgument;
56
import com.eternalcode.core.translation.Translation;
@@ -12,19 +13,24 @@
1213
import dev.rollczi.litecommands.suggestion.SuggestionResult;
1314
import org.bukkit.Server;
1415
import org.bukkit.command.CommandSender;
15-
import org.bukkit.entity.HumanEntity;
1616
import org.bukkit.entity.Player;
17-
import java.util.Objects;
1817

1918
@LiteArgument(type = Player.class)
2019
public class PlayerArgument extends AbstractViewerArgument<Player> {
2120

2221
private final Server server;
22+
private final VanishService vanishService;
2323

2424
@Inject
25-
public PlayerArgument(ViewerService viewerService, TranslationManager translationManager, Server server) {
25+
public PlayerArgument(
26+
ViewerService viewerService,
27+
TranslationManager translationManager,
28+
Server server,
29+
VanishService vanishService
30+
) {
2631
super(viewerService, translationManager);
2732
this.server = server;
33+
this.vanishService = vanishService;
2834
}
2935

3036
@Override
@@ -39,9 +45,14 @@ public ParseResult<Player> parse(Invocation<CommandSender> invocation, String ar
3945
}
4046

4147
@Override
42-
public SuggestionResult suggest(Invocation<CommandSender> invocation, Argument<Player> argument, SuggestionContext context) {
48+
public SuggestionResult suggest(
49+
Invocation<CommandSender> invocation,
50+
Argument<Player> argument,
51+
SuggestionContext context
52+
) {
4353
return this.server.getOnlinePlayers().stream()
44-
.map(HumanEntity::getName)
54+
.filter(player -> !this.vanishService.isVanished(player.getUniqueId()))
55+
.map(player -> player.getName())
4556
.collect(SuggestionResult.collector());
4657
}
4758
}

0 commit comments

Comments
 (0)