From 29d0757279ff101cccf2df3d1edee6af0e0ff378 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Tue, 27 Dec 2022 18:51:02 +0100 Subject: [PATCH] Improved link check (gives more info) --- .../alttd/proxydiscordlink/config/Config.java | 4 +++- .../commands/subcommands/CheckLinked.java | 17 ++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alttd/proxydiscordlink/config/Config.java b/src/main/java/com/alttd/proxydiscordlink/config/Config.java index 0733f75..06e32dd 100644 --- a/src/main/java/com/alttd/proxydiscordlink/config/Config.java +++ b/src/main/java/com/alttd/proxydiscordlink/config/Config.java @@ -201,7 +201,8 @@ public final class Config { public static String ALREADY_GOT_CODE = "You have already got your code. Your code is "; public static String ACCOUNTS_NOT_LINKED = "Your Minecraft and Discord accounts aren't linked"; public static String UNLINKED_ACCOUNTS = "You have successfully unlinked your accounts."; - public static String IS_LINKED = " is ."; + public static String IS_LINKED = " is linked with discord user: ()."; + public static String IS_NOT_LINKED = " is not linked."; public static String WHITELIST_LINK_MESSAGE = "You aren't linked yet! If you would like to link your account join our discord and use the following command in the link channel: &link ."; public static String INVALID_PLAYER = " is not online or is not a valid player."; public static String NO_PERMISSION = "You do not have permission to do that."; @@ -226,6 +227,7 @@ public final class Config { ACCOUNTS_NOT_LINKED = getString("messages.accounts-not-linked", ACCOUNTS_NOT_LINKED); UNLINKED_ACCOUNTS = getString("messages.unlinked-accounts", UNLINKED_ACCOUNTS); IS_LINKED = getString("messages.is-linked", IS_LINKED); + IS_NOT_LINKED = getString("messages.is-not-linked", IS_NOT_LINKED); WHITELIST_LINK_MESSAGE = getString("messages.whitelist-link-message", WHITELIST_LINK_MESSAGE); INVALID_PLAYER = getString("messages.invalid-player", INVALID_PLAYER); NO_PERMISSION = getString("messages.no-permission", NO_PERMISSION); diff --git a/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/subcommands/CheckLinked.java b/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/subcommands/CheckLinked.java index c076eec..9894144 100644 --- a/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/subcommands/CheckLinked.java +++ b/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/subcommands/CheckLinked.java @@ -3,6 +3,7 @@ package com.alttd.proxydiscordlink.minecraft.commands.subcommands; import com.alttd.proxydiscordlink.DiscordLink; import com.alttd.proxydiscordlink.config.Config; import com.alttd.proxydiscordlink.minecraft.commands.SubCommand; +import com.alttd.proxydiscordlink.objects.DiscordLinkPlayer; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; import net.kyori.adventure.text.minimessage.MiniMessage; @@ -63,11 +64,17 @@ public class CheckLinked implements SubCommand { } private void isLinked(CommandSource source, Player player) { - TagResolver tagResolver = TagResolver.resolver( - Placeholder.unparsed("linked_status", DiscordLink.getPlugin().getDatabase() - .playerIsLinked(player.getUniqueId()) ? "linked" : "not linked"), - Placeholder.unparsed("player", player.getUsername())); - + DiscordLinkPlayer linkPlayer = DiscordLink.getPlugin().getDatabase() + .getPlayer(player.getUniqueId()); + TagResolver tagResolver = TagResolver.resolver(Placeholder.unparsed("player", player.getUsername())); + if (!linkPlayer.isActive()) { + source.sendMessage(miniMessage.deserialize(Config.MESSAGES.IS_NOT_LINKED, tagResolver)); + return; + } + tagResolver = TagResolver.resolver( + tagResolver, + Placeholder.unparsed("discord", linkPlayer.getDiscordUsername()), + Placeholder.unparsed("discord_id", linkPlayer.getUserId() + "")); source.sendMessage(miniMessage.deserialize(Config.MESSAGES.IS_LINKED, tagResolver)); }