From 9248a302a67b51da26b6d13d374d83110c1c4390 Mon Sep 17 00:00:00 2001 From: hypherionmc Date: Sun, 17 Mar 2024 13:44:56 +0200 Subject: [PATCH] [FEAT] Add events for Access Control Player changes --- .../core/accounts/MinecraftAccount.java | 6 +++ .../sdlink/core/discord/BotController.java | 9 ----- .../sdlink/core/events/VerificationEvent.java | 38 +++++++++++++++++++ 3 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/hypherionmc/sdlink/core/events/VerificationEvent.java diff --git a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java index 2450e7a..3bf6974 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java +++ b/src/main/java/com/hypherionmc/sdlink/core/accounts/MinecraftAccount.java @@ -4,9 +4,11 @@ */ package com.hypherionmc.sdlink.core.accounts; +import com.hypherionmc.craterlib.core.event.CraterEventBus; import com.hypherionmc.sdlink.core.config.SDLinkConfig; import com.hypherionmc.sdlink.core.database.SDLinkAccount; import com.hypherionmc.sdlink.core.discord.BotController; +import com.hypherionmc.sdlink.core.events.VerificationEvent; import com.hypherionmc.sdlink.core.managers.CacheManager; import com.hypherionmc.sdlink.core.managers.RoleManager; import com.hypherionmc.sdlink.core.messaging.Result; @@ -218,6 +220,8 @@ public class MinecraftAccount { } } + CraterEventBus.INSTANCE.postEvent(new VerificationEvent.PlayerVerified(this)); + return Result.success("Your account has been verified"); } @@ -249,6 +253,8 @@ public class MinecraftAccount { } } + CraterEventBus.INSTANCE.postEvent(new VerificationEvent.PlayerUnverified(this)); + return Result.success("Your account has been un-verified"); } diff --git a/src/main/java/com/hypherionmc/sdlink/core/discord/BotController.java b/src/main/java/com/hypherionmc/sdlink/core/discord/BotController.java index 2364499..6c17c29 100644 --- a/src/main/java/com/hypherionmc/sdlink/core/discord/BotController.java +++ b/src/main/java/com/hypherionmc/sdlink/core/discord/BotController.java @@ -203,15 +203,6 @@ public class BotController { } } - /** - * Ensure that whitelisting is set up properly, so the bot can use the feature - */ - public void checkWhiteListing() { - if (SDLinkConfig.INSTANCE.accessControl.enabled && !SDLinkPlatform.minecraftHelper.checkWhitelisting().isError()) { - getLogger().error("SDLink Access Control is enabled, but so is whitelisting on your server. You need to disable whitelisting to use the AccessControl feature"); - } - } - public JDA getJDA() { return this._jda; } diff --git a/src/main/java/com/hypherionmc/sdlink/core/events/VerificationEvent.java b/src/main/java/com/hypherionmc/sdlink/core/events/VerificationEvent.java new file mode 100644 index 0000000..aae1121 --- /dev/null +++ b/src/main/java/com/hypherionmc/sdlink/core/events/VerificationEvent.java @@ -0,0 +1,38 @@ +package com.hypherionmc.sdlink.core.events; + +import com.hypherionmc.craterlib.core.event.CraterEvent; +import com.hypherionmc.sdlink.core.accounts.MinecraftAccount; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * @author HypherionSA + * Events that get triggered when the bot verification list changes + */ +public class VerificationEvent { + + @Getter + @RequiredArgsConstructor + public static class PlayerVerified extends CraterEvent { + + private final MinecraftAccount account; + + @Override + public boolean canCancel() { + return false; + } + } + + @Getter + @RequiredArgsConstructor + public static class PlayerUnverified extends CraterEvent { + + private final MinecraftAccount account; + + @Override + public boolean canCancel() { + return false; + } + } + +}