diff --git a/common/src/main/java/io/github/_4drian3d/authmevelocity/common/configuration/ProxyConfiguration.java b/common/src/main/java/io/github/_4drian3d/authmevelocity/common/configuration/ProxyConfiguration.java index fed867f..5f01805 100644 --- a/common/src/main/java/io/github/_4drian3d/authmevelocity/common/configuration/ProxyConfiguration.java +++ b/common/src/main/java/io/github/_4drian3d/authmevelocity/common/configuration/ProxyConfiguration.java @@ -80,6 +80,12 @@ public class ProxyConfiguration { return this.sendOnLogin; } + @Comment("Require players to have the authmevelocity.send-on-login permission?") + private boolean requirePermission = false; + public boolean isRequirePermission() { + return this.requirePermission; + } + @Comment(""" List of servers to send One of these servers will be chosen at random""") diff --git a/velocity/src/main/java/io/github/_4drian3d/authmevelocity/velocity/listener/data/PluginMessageListener.java b/velocity/src/main/java/io/github/_4drian3d/authmevelocity/velocity/listener/data/PluginMessageListener.java index a9393c4..924f9e7 100644 --- a/velocity/src/main/java/io/github/_4drian3d/authmevelocity/velocity/listener/data/PluginMessageListener.java +++ b/velocity/src/main/java/io/github/_4drian3d/authmevelocity/velocity/listener/data/PluginMessageListener.java @@ -134,6 +134,10 @@ public final class PluginMessageListener implements Listener return; } + if (plugin.config().get().sendOnLogin().isRequirePermission() && !player.hasPermission("authmevelocity.send-on-login")) { + return; + } + eventManager.fire(new PreSendOnLoginEvent(player, loginServer, toSend.object())) .thenAccept(event -> { if (!event.getResult().isAllowed()) {