From d67dd46cdcf95daac086dbe74fee91fd2a55afc0 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Thu, 8 Jun 2023 18:50:53 -0400 Subject: [PATCH] Clean up link policy code Also error when new link policy types are added so we remember to write out the behavior here --- .../listeners/LinkBukkitListener.java | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/listeners/LinkBukkitListener.java b/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/listeners/LinkBukkitListener.java index 4ea071ff6..10651d907 100644 --- a/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/listeners/LinkBukkitListener.java +++ b/EssentialsDiscordLink/src/main/java/net/essentialsx/discordlink/listeners/LinkBukkitListener.java @@ -138,20 +138,21 @@ public class LinkBukkitListener implements Listener { @EventHandler public void onUserLinkStatusChange(final DiscordLinkStatusChangeEvent event) { - if (event.isLinked()) { + if (event.isLinked() || ess.getSettings().getLinkPolicy() == DiscordLinkSettings.LinkPolicy.NONE) { event.getUser().setFreeze(false); return; } + String code; + try { + code = ess.getLinkManager().createCode(event.getUser().getBase().getUniqueId()); + } catch (IllegalArgumentException e) { + code = e.getMessage(); + } + final String finalCode = code; + switch (ess.getSettings().getLinkPolicy()) { case KICK: { - String code; - try { - code = ess.getLinkManager().createCode(event.getUser().getBase().getUniqueId()); - } catch (IllegalArgumentException e) { - code = e.getMessage(); - } - final String finalCode = code; final Runnable kickTask = () -> event.getUser().getBase().kickPlayer(tl("discordLinkLoginKick", "/link " + finalCode, ess.getApi().getInviteUrl())); if (Bukkit.isPrimaryThread()) { kickTask.run(); @@ -161,18 +162,12 @@ public class LinkBukkitListener implements Listener { break; } case FREEZE: { - String code; - try { - code = ess.getLinkManager().createCode(event.getUser().getBase().getUniqueId()); - } catch (IllegalArgumentException e) { - code = e.getMessage(); - } event.getUser().sendMessage(tl("discordLinkLoginPrompt", "/link " + code, ess.getApi().getInviteUrl())); event.getUser().setFreeze(true); break; } default: { - break; + throw new IllegalStateException(); } } }