From 4506ea75d6db615fa53986eb79ef4612f3c5bcd3 Mon Sep 17 00:00:00 2001 From: LewUwU <72635645+LewUwU@users.noreply.github.com> Date: Fri, 13 Aug 2021 16:51:25 -0400 Subject: [PATCH] Fix compatibility with antibot plugins This prevents RedisBungee from handling connections that are cancelled by antibots (The priority change is also to prevent the cancellation ignore of antibots) --- .../minecraft/redisbungee/RedisBungeeListener.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java index 04f5ffc..197b3a8 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java @@ -42,8 +42,12 @@ public class RedisBungeeListener implements Listener { private final RedisBungee plugin; private final List exemptAddresses; - @EventHandler(priority = EventPriority.LOWEST) + @EventHandler public void onLogin(final LoginEvent event) { + if (event.isCancelled) { + return; + } + event.registerIntent(plugin); plugin.getProxy().getScheduler().runAsync(plugin, new RedisCallable(plugin) { @Override @@ -132,7 +136,7 @@ public class RedisBungeeListener implements Listener { }); } - @EventHandler(priority = EventPriority.LOWEST) + @EventHandler public void onPing(final ProxyPingEvent event) { if (exemptAddresses.contains(event.getConnection().getAddress().getAddress())) { return; @@ -150,6 +154,10 @@ public class RedisBungeeListener implements Listener { @SuppressWarnings("UnstableApiUsage") @EventHandler public void onPluginMessage(final PluginMessageEvent event) { + if (event.isCancelled()) { + return; + } + if ((event.getTag().equals("legacy:redisbungee") || event.getTag().equals("RedisBungee")) && event.getSender() instanceof Server) { final String currentChannel = event.getTag(); final byte[] data = Arrays.copyOf(event.getData(), event.getData().length);