Skip to content

Commit 156d8d9

Browse files
committed
feat: Implement player auto-completion for friends, friend requests, and online players, and enhance join/quit event handling, all with vanish status consideration.
1 parent 9dd24c7 commit 156d8d9

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

src/main/java/fr/openmc/core/commands/autocomplete/OnlinePlayerAutoComplete.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@
1111

1212
public class OnlinePlayerAutoComplete implements SuggestionProvider<BukkitCommandActor> {
1313

14+
public static final String VANISH_META_KEY = "omcstaff.vanished";
15+
1416
@Override
1517
public @NotNull List<String> getSuggestions(@NotNull ExecutionContext<BukkitCommandActor> context) {
1618
return Bukkit.getOnlinePlayers().stream()
1719
.map(Player::getName)
20+
.filter(name -> !context.actor().requirePlayer().hasMetadata(VANISH_META_KEY))
1821
.toList();
1922
}
2023
}

src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsAutoComplete.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@
1313

1414
public class FriendsAutoComplete implements SuggestionProvider<BukkitCommandActor> {
1515

16+
public static final String VANISH_META_KEY = "omcstaff.vanished";
17+
1618
@Override
1719
public @NotNull List<String> getSuggestions(@NotNull ExecutionContext<BukkitCommandActor> context) {
1820
List<UUID> friendsUUIDs = getFriendsAsync(context.actor().requirePlayer().getUniqueId()).join();
1921
return friendsUUIDs.stream()
2022
.map(uuid -> CacheOfflinePlayer.getOfflinePlayer(uuid).getName())
23+
.filter(name -> !context.actor().requirePlayer().hasMetadata(VANISH_META_KEY))
2124
.toList();
2225
}
2326
}

src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsRequestAutoComplete.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
public class FriendsRequestAutoComplete implements SuggestionProvider<BukkitCommandActor> {
1616

17+
public static final String VANISH_META_KEY = "omcstaff.vanished";
18+
1719
@Override
1820
public @NotNull List<String> getSuggestions(@NotNull ExecutionContext<BukkitCommandActor> context) {
1921
Player sender = context.actor().requirePlayer();
@@ -24,6 +26,7 @@ public class FriendsRequestAutoComplete implements SuggestionProvider<BukkitComm
2426
.toList();
2527
return requestUUIDs.stream()
2628
.map(uuid -> CacheOfflinePlayer.getOfflinePlayer(uuid).getName())
29+
.filter(name -> !sender.hasMetadata(VANISH_META_KEY))
2730
.toList();
2831
}
2932
}

src/main/java/fr/openmc/core/listeners/JoinQuitMessageListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {
4646
FriendManager.getFriendsAsync(player.getUniqueId()).thenAccept(friendsUUIDS -> {
4747
for (UUID friendUUID : friendsUUIDS) {
4848
final Player friend = player.getServer().getPlayer(friendUUID);
49-
if (friend != null && friend.isOnline()) {
49+
if (friend != null && friend.isOnline() && !friend.hasMetadata(VANISH_META_KEY)) {
5050
MessagesManager.sendMessage(friend, Component.text("§aVotre ami §r" + "§r" + LuckPermsHook.getFormattedPAPIPrefix(player) + player.getName() +" §as'est connecté(e)"), Prefix.FRIEND, MessageType.NONE, true);
5151
}
5252
}
@@ -105,7 +105,7 @@ public void onPlayerQuit(PlayerQuitEvent event) {
105105
FriendManager.getFriendsAsync(player.getUniqueId()).thenAccept(friendsUUIDS -> {
106106
for (UUID friendUUID : friendsUUIDS) {
107107
final Player friend = player.getServer().getPlayer(friendUUID);
108-
if (friend != null && friend.isOnline()) {
108+
if (friend != null && friend.isOnline() && !friend.hasMetadata(VANISH_META_KEY)) {
109109
MessagesManager.sendMessage(friend, Component.text("§cVotre ami §e" + "§r" + LuckPermsHook.getFormattedPAPIPrefix(player) + player.getName() +" §cs'est déconnecté(e)"), Prefix.FRIEND, MessageType.NONE, true);
110110
}
111111
}

0 commit comments

Comments
 (0)