Skip to content

Commit dd2a7bc

Browse files
committedJan 5, 2025··
Tab player /is demote - /is promote - /is kick
1 parent d56cb3d commit dd2a7bc

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed
 

‎plugin/src/main/java/fr/euphyllia/skyllia/commands/common/subcommands/DemoteSubCommand.java

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import fr.euphyllia.skyllia.Main;
44
import fr.euphyllia.skyllia.api.PermissionImp;
5+
import fr.euphyllia.skyllia.api.SkylliaAPI;
56
import fr.euphyllia.skyllia.api.commands.SubCommandInterface;
67
import fr.euphyllia.skyllia.api.skyblock.Island;
78
import fr.euphyllia.skyllia.api.skyblock.Players;
@@ -85,6 +86,15 @@ public boolean onCommand(@NotNull Plugin plugin, @NotNull CommandSender sender,
8586

8687
@Override
8788
public @NotNull List<String> onTabComplete(@NotNull Plugin plugin, @NotNull CommandSender sender, @NotNull String[] args) {
89+
if (args.length == 1 && sender instanceof Player player) {
90+
String partial = args[0].trim().toLowerCase();
91+
Island island = SkylliaAPI.getCacheIslandByPlayerId(player.getUniqueId());
92+
if (island == null) return Collections.emptyList();
93+
return island.getMembersCached().stream()
94+
.map(Players::getLastKnowName)
95+
.filter(cmd -> cmd.toLowerCase().startsWith(partial))
96+
.toList();
97+
}
8898
return Collections.emptyList();
8999
}
90100
}

‎plugin/src/main/java/fr/euphyllia/skyllia/commands/common/subcommands/KickSubCommand.java

+8-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import fr.euphyllia.skyllia.Main;
44
import fr.euphyllia.skyllia.api.PermissionImp;
5+
import fr.euphyllia.skyllia.api.SkylliaAPI;
56
import fr.euphyllia.skyllia.api.commands.SubCommandInterface;
67
import fr.euphyllia.skyllia.api.skyblock.Island;
78
import fr.euphyllia.skyllia.api.skyblock.Players;
@@ -79,12 +80,14 @@ public boolean onCommand(@NotNull Plugin plugin, @NotNull CommandSender sender,
7980

8081
@Override
8182
public @NotNull List<String> onTabComplete(@NotNull Plugin plugin, @NotNull CommandSender sender, @NotNull String[] args) {
82-
if (args.length == 1) {
83+
if (args.length == 1 && sender instanceof Player player) {
8384
String partial = args[0].trim().toLowerCase();
84-
return Bukkit.getOnlinePlayers().stream()
85-
.map(CommandSender::getName)
86-
.filter(name -> name.toLowerCase().startsWith(partial))
87-
.collect(Collectors.toList());
85+
Island island = SkylliaAPI.getCacheIslandByPlayerId(player.getUniqueId());
86+
if (island == null) return Collections.emptyList();
87+
return island.getMembersCached().stream()
88+
.map(Players::getLastKnowName)
89+
.filter(cmd -> cmd.toLowerCase().startsWith(partial))
90+
.toList();
8891
}
8992
return Collections.emptyList();
9093
}

‎plugin/src/main/java/fr/euphyllia/skyllia/commands/common/subcommands/PromoteSubCommand.java

+10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import fr.euphyllia.skyllia.Main;
44
import fr.euphyllia.skyllia.api.PermissionImp;
5+
import fr.euphyllia.skyllia.api.SkylliaAPI;
56
import fr.euphyllia.skyllia.api.commands.SubCommandInterface;
67
import fr.euphyllia.skyllia.api.skyblock.Island;
78
import fr.euphyllia.skyllia.api.skyblock.Players;
@@ -85,6 +86,15 @@ public boolean onCommand(@NotNull Plugin plugin, @NotNull CommandSender sender,
8586

8687
@Override
8788
public @NotNull List<String> onTabComplete(@NotNull Plugin plugin, @NotNull CommandSender sender, @NotNull String[] args) {
89+
if (args.length == 1 && sender instanceof Player player) {
90+
String partial = args[0].trim().toLowerCase();
91+
Island island = SkylliaAPI.getCacheIslandByPlayerId(player.getUniqueId());
92+
if (island == null) return Collections.emptyList();
93+
return island.getMembersCached().stream()
94+
.map(Players::getLastKnowName)
95+
.filter(cmd -> cmd.toLowerCase().startsWith(partial))
96+
.toList();
97+
}
8898
return Collections.emptyList();
8999
}
90100
}

0 commit comments

Comments
 (0)
Please sign in to comment.