From daa4893802fa025559e49669ddac0f60e0d62847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Raynaud?= <30211659+carlodrift@users.noreply.github.com> Date: Fri, 9 Aug 2024 13:57:51 +0200 Subject: [PATCH] Add method to get all linked players in DiscordLinkService --- .../api/v2/services/discordlink/DiscordLinkService.java | 9 +++++++++ .../net/essentialsx/discordlink/AccountLinkManager.java | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/EssentialsDiscordLink/src/main/java/net/essentialsx/api/v2/services/discordlink/DiscordLinkService.java b/EssentialsDiscordLink/src/main/java/net/essentialsx/api/v2/services/discordlink/DiscordLinkService.java index 8cf09a0bcc6..957e5b600a1 100644 --- a/EssentialsDiscordLink/src/main/java/net/essentialsx/api/v2/services/discordlink/DiscordLinkService.java +++ b/EssentialsDiscordLink/src/main/java/net/essentialsx/api/v2/services/discordlink/DiscordLinkService.java @@ -2,6 +2,7 @@ import net.essentialsx.api.v2.services.discord.InteractionMember; +import java.util.Map; import java.util.UUID; /** @@ -82,4 +83,12 @@ default boolean isLinked(final String discordId) { * {@link InteractionMember}, otherwise false. */ boolean unlinkAccount(final InteractionMember member); + + /** + * Gets a map of all linked players, where the key is the Minecraft UUID and the value is the Discord ID. + * The returned map is immutable and cannot be modified. + * + * @return an immutable map of all linked players. + */ + Map getAllLinkedPlayers(); } diff --git a/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/AccountLinkManager.java b/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/AccountLinkManager.java index 982a3756244..930bdb2ff26 100644 --- a/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/AccountLinkManager.java +++ b/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/AccountLinkManager.java @@ -8,6 +8,7 @@ import net.essentialsx.api.v2.services.discordlink.DiscordLinkService; import net.essentialsx.discordlink.rolesync.RoleSyncManager; +import java.util.Collections; import java.util.Map; import java.util.Optional; import java.util.Random; @@ -162,4 +163,9 @@ private String generateCode() { } return result; } + + @Override + public Map getAllLinkedPlayers() { + return Collections.unmodifiableMap(storage.getRawStorageMap()); + } }