From 110fc7266db33f4dc2db0f3baa6f53f3d8dd1da6 Mon Sep 17 00:00:00 2001 From: Sattera Date: Sat, 24 Jun 2023 18:47:26 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=91=20authme.admin?= =?UTF-8?q?.whitelistmessage=20=E6=9D=83=E9=99=90=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B2=A1=E6=9C=89=E6=B3=A8=E5=86=8C=E8=B5=84?= =?UTF-8?q?=E6=A0=BC=E7=9A=84=E7=8E=A9=E5=AE=B6=E5=B0=9D=E8=AF=95=E5=85=A5?= =?UTF-8?q?=E6=9C=8D=E7=9A=84=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java | 5 +++++ src/main/java/fr/xephi/authme/message/MessageKey.java | 1 + src/main/resources/messages/messages_zhcn.yml | 1 + src/main/resources/plugin.yml | 3 +++ 4 files changed, 10 insertions(+) diff --git a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java index 8e72de1c..6258f9c4 100644 --- a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java +++ b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java @@ -7,6 +7,7 @@ import fr.xephi.authme.initialization.Reloadable; import fr.xephi.authme.message.MessageKey; import fr.xephi.authme.message.Messages; import fr.xephi.authme.output.ConsoleLoggerFactory; +import fr.xephi.authme.permission.AdminPermission; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PlayerStatePermission; import fr.xephi.authme.service.AntiBotService; @@ -87,6 +88,10 @@ public class OnJoinVerifier implements Reloadable { public void checkWhitelist(String name, boolean isAuthAvailable) throws FailedVerificationException { if (isAuthAvailable || permissionsManager.hasPermissionOffline(name, PlayerStatePermission.WHITELIST)) { return; + } else { + bukkitService.getOnlinePlayers().stream() + .filter(player -> permissionsManager.hasPermission(player, AdminPermission.WHITELIST_MESSAGE)) + .forEach(player -> messages.send(player, MessageKey.WHITELIST_KICK, name)); } if (whiteListService.shouldKick()) { throw new FailedVerificationException(MessageKey.KICK_WHITELIST); diff --git a/src/main/java/fr/xephi/authme/message/MessageKey.java b/src/main/java/fr/xephi/authme/message/MessageKey.java index 29e6c575..21344157 100644 --- a/src/main/java/fr/xephi/authme/message/MessageKey.java +++ b/src/main/java/fr/xephi/authme/message/MessageKey.java @@ -199,6 +199,7 @@ public enum MessageKey { /** [AntiBotService] AntiBot disabled after %m minutes! */ ANTIBOT_AUTO_DISABLED_MESSAGE("antibot.auto_disabled", "%m"), + WHITELIST_KICK("misc.whitelist_kick", "%p"), /** The email address is already being used */ EMAIL_ALREADY_USED_ERROR("email.already_used"), diff --git a/src/main/resources/messages/messages_zhcn.yml b/src/main/resources/messages/messages_zhcn.yml index 5894ba84..ee3bc03c 100644 --- a/src/main/resources/messages/messages_zhcn.yml +++ b/src/main/resources/messages/messages_zhcn.yml @@ -67,6 +67,7 @@ misc: accounts_owned_other: '玩家 %name 拥有 %count 个账户:' whitelist_enabled: '&c*** 服务器已暂停注册 ***' whitelist_disabled: '&a*** 服务器已开放注册 ***' + whitelist_kick: '&7玩家 &c%p &7请求加入服务器,但是被拒绝了.' # Session messages session: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 1e7fdeed..55e8fa3e 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -184,6 +184,9 @@ permissions: authme.bypassantibot: description: Permission node to bypass AntiBot protection. default: op + authme.whitelist: + description: Permission node to whitelist. + default: op authme.bypasscountrycheck: description: Permission to bypass the GeoIp country code check. default: false