diff --git a/src/main/java/fr/openmc/core/commands/autocomplete/OnlinePlayerAutoComplete.java b/src/main/java/fr/openmc/core/commands/autocomplete/OnlinePlayerAutoComplete.java index fa54b2957..180f7781d 100644 --- a/src/main/java/fr/openmc/core/commands/autocomplete/OnlinePlayerAutoComplete.java +++ b/src/main/java/fr/openmc/core/commands/autocomplete/OnlinePlayerAutoComplete.java @@ -11,10 +11,13 @@ public class OnlinePlayerAutoComplete implements SuggestionProvider { + public static final String VANISH_META_KEY = "omcstaff.vanished"; + @Override public @NotNull List getSuggestions(@NotNull ExecutionContext context) { return Bukkit.getOnlinePlayers().stream() .map(Player::getName) + .filter(name -> !context.actor().requirePlayer().hasMetadata(VANISH_META_KEY)) .toList(); } } diff --git a/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsAutoComplete.java b/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsAutoComplete.java index 54ad5b295..42f6e4780 100644 --- a/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsAutoComplete.java +++ b/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsAutoComplete.java @@ -13,11 +13,14 @@ public class FriendsAutoComplete implements SuggestionProvider { + public static final String VANISH_META_KEY = "omcstaff.vanished"; + @Override public @NotNull List getSuggestions(@NotNull ExecutionContext context) { List friendsUUIDs = getFriendsAsync(context.actor().requirePlayer().getUniqueId()).join(); return friendsUUIDs.stream() .map(uuid -> CacheOfflinePlayer.getOfflinePlayer(uuid).getName()) + .filter(name -> !context.actor().requirePlayer().hasMetadata(VANISH_META_KEY)) .toList(); } } diff --git a/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsRequestAutoComplete.java b/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsRequestAutoComplete.java index ed0e859fd..8b67febab 100644 --- a/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsRequestAutoComplete.java +++ b/src/main/java/fr/openmc/core/features/friend/autocomplete/FriendsRequestAutoComplete.java @@ -14,6 +14,8 @@ public class FriendsRequestAutoComplete implements SuggestionProvider { + public static final String VANISH_META_KEY = "omcstaff.vanished"; + @Override public @NotNull List getSuggestions(@NotNull ExecutionContext context) { Player sender = context.actor().requirePlayer(); @@ -24,6 +26,7 @@ public class FriendsRequestAutoComplete implements SuggestionProvider CacheOfflinePlayer.getOfflinePlayer(uuid).getName()) + .filter(name -> !sender.hasMetadata(VANISH_META_KEY)) .toList(); } } diff --git a/src/main/java/fr/openmc/core/listeners/JoinQuitMessageListener.java b/src/main/java/fr/openmc/core/listeners/JoinQuitMessageListener.java index b11327637..cf8010bf8 100644 --- a/src/main/java/fr/openmc/core/listeners/JoinQuitMessageListener.java +++ b/src/main/java/fr/openmc/core/listeners/JoinQuitMessageListener.java @@ -46,7 +46,7 @@ public void onPlayerJoin(PlayerJoinEvent event) { FriendManager.getFriendsAsync(player.getUniqueId()).thenAccept(friendsUUIDS -> { for (UUID friendUUID : friendsUUIDS) { final Player friend = player.getServer().getPlayer(friendUUID); - if (friend != null && friend.isOnline()) { + if (friend != null && friend.isOnline() && !friend.hasMetadata(VANISH_META_KEY)) { MessagesManager.sendMessage(friend, Component.text("§aVotre ami §r" + "§r" + LuckPermsHook.getFormattedPAPIPrefix(player) + player.getName() +" §as'est connecté(e)"), Prefix.FRIEND, MessageType.NONE, true); } } @@ -105,7 +105,7 @@ public void onPlayerQuit(PlayerQuitEvent event) { FriendManager.getFriendsAsync(player.getUniqueId()).thenAccept(friendsUUIDS -> { for (UUID friendUUID : friendsUUIDS) { final Player friend = player.getServer().getPlayer(friendUUID); - if (friend != null && friend.isOnline()) { + if (friend != null && friend.isOnline() && !friend.hasMetadata(VANISH_META_KEY)) { MessagesManager.sendMessage(friend, Component.text("§cVotre ami §e" + "§r" + LuckPermsHook.getFormattedPAPIPrefix(player) + player.getName() +" §cs'est déconnecté(e)"), Prefix.FRIEND, MessageType.NONE, true); } }