From 6f41ae26bc04e38c6ebd69cf939f702188f65004 Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Tue, 2 Jan 2024 03:43:48 +0200 Subject: [PATCH] [FEAT] Way to get the real player name and avatar in Server embeds --- gradle.properties | 2 +- .../sdlink/core/accounts/DiscordAuthor.java | 14 ++++++++++++++ .../core/messaging/discord/DiscordMessage.java | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index afb6079..5c0ec65 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ version_major=0 version_minor=0 -version_patch=57 +version_patch=58 shade_group=com.hypherionmc.sdlink.shaded. diff --git a/src/main/java/com/hypherionmc/sdlink/core/accounts/DiscordAuthor.java b/src/main/java/com/hypherionmc/sdlink/core/accounts/DiscordAuthor.java index e74a0bc..54d19bd 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/accounts/DiscordAuthor.java +++ b/src/main/java/com/hypherionmc/sdlink/core/accounts/DiscordAuthor.java @@ -36,6 +36,10 @@ public class DiscordAuthor { @Getter private GameProfile profile = null; + @Getter String realPlayerAvatar = ""; + + @Getter String realPlayerName = ""; + /** * Internal. Use {@link #of(String, String, String)} * @@ -78,6 +82,16 @@ public class DiscordAuthor { ); } + public DiscordAuthor setPlayerAvatar(String usr, String userid) { + realPlayerAvatar = SDLinkConfig.INSTANCE.chatConfig.playerAvatarType.resolve(SDLinkPlatform.minecraftHelper.isOnlineMode() ? userid : usr); + return this; + } + + public DiscordAuthor setPlayerName(String name) { + this.realPlayerName = name; + return this; + } + public DiscordAuthor setGameProfile(GameProfile profile) { this.profile = profile; this.username = profile.getName(); diff --git a/src/main/java/com/hypherionmc/sdlink/core/messaging/discord/DiscordMessage.java b/src/main/java/com/hypherionmc/sdlink/core/messaging/discord/DiscordMessage.java index 0362093..56719cd 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/messaging/discord/DiscordMessage.java +++ b/src/main/java/com/hypherionmc/sdlink/core/messaging/discord/DiscordMessage.java @@ -173,6 +173,8 @@ public final class DiscordMessage { .replace("%author%", this.author.getDisplayName()) .replace("%avatar%", this.author.getAvatar()) .replace("%message_contents%", this.message) + .replace("%player_avatar%", this.author.getRealPlayerAvatar()) + .replace("%player_name%", this.author.getRealPlayerName()) .replace("%username%", this.author.getUsername()); DataObject object = DataObject.fromJson(embedJson);