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()); + } }