From a1f0d2276d280cc155ac47a87b1bd60d70932462 Mon Sep 17 00:00:00 2001 From: Tim203 Date: Wed, 23 Jun 2021 00:52:21 +0200 Subject: [PATCH] Removed some unused addon code --- .../floodgate/api/inject/InjectorAddon.java | 9 --- .../floodgate/addon/data/BungeeDataAddon.java | 4 -- .../inject/bungee/BungeeInjector.java | 4 -- .../floodgate/addon/AddonManagerAddon.java | 13 ++-- .../geysermc/floodgate/addon/DebugAddon.java | 5 -- .../floodgate/addon/PacketHandlerAddon.java | 5 -- .../addonmanager/AddonManagerHandler.java | 70 ------------------- .../inject/CommonPlatformInjector.java | 16 +---- .../floodgate/addon/data/SpigotDataAddon.java | 4 -- .../inject/spigot/SpigotInjector.java | 4 -- .../addon/data/VelocityDataAddon.java | 4 -- .../inject/velocity/VelocityInjector.java | 4 -- 12 files changed, 5 insertions(+), 137 deletions(-) delete mode 100644 common/src/main/java/org/geysermc/floodgate/addon/addonmanager/AddonManagerHandler.java diff --git a/api/src/main/java/org/geysermc/floodgate/api/inject/InjectorAddon.java b/api/src/main/java/org/geysermc/floodgate/api/inject/InjectorAddon.java index 6a25ec88..fcfc5a39 100644 --- a/api/src/main/java/org/geysermc/floodgate/api/inject/InjectorAddon.java +++ b/api/src/main/java/org/geysermc/floodgate/api/inject/InjectorAddon.java @@ -38,15 +38,6 @@ public interface InjectorAddon { */ void onInject(Channel channel, boolean toServer); - /** - * Called when the player successfully logged in. That is the moment that most of the addons can - * deregister. Note that it is entirely optional to remove the addon from the channel, the - * injector won't force the addon to remove. - * - * @param channel the channel that the injector injected - */ - void onLoginDone(Channel channel); - /** * Called when the channel has been closed. Note that this method will be called for every * closed connection (if it is injected), so it'll also run this method for closed connections diff --git a/bungee/src/main/java/org/geysermc/floodgate/addon/data/BungeeDataAddon.java b/bungee/src/main/java/org/geysermc/floodgate/addon/data/BungeeDataAddon.java index b1c6862d..0f12899a 100644 --- a/bungee/src/main/java/org/geysermc/floodgate/addon/data/BungeeDataAddon.java +++ b/bungee/src/main/java/org/geysermc/floodgate/addon/data/BungeeDataAddon.java @@ -75,10 +75,6 @@ public class BungeeDataAddon implements InjectorAddon { ); } - @Override - public void onLoginDone(Channel channel) { - } - @Override public void onChannelClosed(Channel channel) { FloodgatePlayer player = channel.attr(playerAttribute).get(); diff --git a/bungee/src/main/java/org/geysermc/floodgate/inject/bungee/BungeeInjector.java b/bungee/src/main/java/org/geysermc/floodgate/inject/bungee/BungeeInjector.java index fc8fc3a9..f9ecdfbe 100644 --- a/bungee/src/main/java/org/geysermc/floodgate/inject/bungee/BungeeInjector.java +++ b/bungee/src/main/java/org/geysermc/floodgate/inject/bungee/BungeeInjector.java @@ -79,10 +79,6 @@ public final class BungeeInjector extends CommonPlatformInjector { public void injectClient(Channel channel, boolean clientToProxy) { injectAddonsCall(channel, !clientToProxy); addInjectedClient(channel); - channel.closeFuture().addListener(listener -> { - channelClosedCall(channel); - removeInjectedClient(channel); - }); } @RequiredArgsConstructor diff --git a/common/src/main/java/org/geysermc/floodgate/addon/AddonManagerAddon.java b/common/src/main/java/org/geysermc/floodgate/addon/AddonManagerAddon.java index 402aa3c0..bf0fd44b 100644 --- a/common/src/main/java/org/geysermc/floodgate/addon/AddonManagerAddon.java +++ b/common/src/main/java/org/geysermc/floodgate/addon/AddonManagerAddon.java @@ -27,27 +27,22 @@ package org.geysermc.floodgate.addon; import com.google.inject.Inject; import io.netty.channel.Channel; -import org.geysermc.floodgate.addon.addonmanager.AddonManagerHandler; import org.geysermc.floodgate.api.inject.InjectorAddon; import org.geysermc.floodgate.inject.CommonPlatformInjector; -import org.geysermc.floodgate.util.Utils; public final class AddonManagerAddon implements InjectorAddon { @Inject private CommonPlatformInjector injector; @Override public void onInject(Channel channel, boolean toServer) { - channel.pipeline().addLast("floodgate_addon", new AddonManagerHandler(injector, channel)); - } - - @Override - public void onLoginDone(Channel channel) { - // AddonManagerHandler is also responsible for removing the addons when the channel closes + channel.closeFuture().addListener(listener -> { + injector.channelClosedCall(channel); + injector.removeInjectedClient(channel); + }); } @Override public void onRemoveInject(Channel channel) { - Utils.removeHandler(channel.pipeline(), "floodgate_addon"); } @Override diff --git a/common/src/main/java/org/geysermc/floodgate/addon/DebugAddon.java b/common/src/main/java/org/geysermc/floodgate/addon/DebugAddon.java index 799f1bbd..09e307d3 100644 --- a/common/src/main/java/org/geysermc/floodgate/addon/DebugAddon.java +++ b/common/src/main/java/org/geysermc/floodgate/addon/DebugAddon.java @@ -70,11 +70,6 @@ public final class DebugAddon implements InjectorAddon { ); } - @Override - public void onLoginDone(Channel channel) { - onRemoveInject(channel); - } - @Override public void onRemoveInject(Channel channel) { ChannelPipeline pipeline = channel.pipeline(); diff --git a/common/src/main/java/org/geysermc/floodgate/addon/PacketHandlerAddon.java b/common/src/main/java/org/geysermc/floodgate/addon/PacketHandlerAddon.java index d5f67d97..c77fb130 100644 --- a/common/src/main/java/org/geysermc/floodgate/addon/PacketHandlerAddon.java +++ b/common/src/main/java/org/geysermc/floodgate/addon/PacketHandlerAddon.java @@ -57,11 +57,6 @@ public class PacketHandlerAddon implements InjectorAddon { ); } - @Override - public void onLoginDone(Channel channel) { - - } - @Override public void onRemoveInject(Channel channel) { ChannelPipeline pipeline = channel.pipeline(); diff --git a/common/src/main/java/org/geysermc/floodgate/addon/addonmanager/AddonManagerHandler.java b/common/src/main/java/org/geysermc/floodgate/addon/addonmanager/AddonManagerHandler.java deleted file mode 100644 index 14faf7a2..00000000 --- a/common/src/main/java/org/geysermc/floodgate/addon/addonmanager/AddonManagerHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2019-2021 GeyserMC. http://geysermc.org - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * @author GeyserMC - * @link https://github.com/GeyserMC/Floodgate - */ - -package org.geysermc.floodgate.addon.addonmanager; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.MessageToByteEncoder; -import lombok.RequiredArgsConstructor; -import org.geysermc.floodgate.inject.CommonPlatformInjector; -import org.geysermc.floodgate.util.Constants; -import org.geysermc.floodgate.util.Utils; - -@RequiredArgsConstructor -public final class AddonManagerHandler extends MessageToByteEncoder { - private final CommonPlatformInjector injector; - private final Channel channel; - - private boolean loggedIn; - private boolean removed; - - @Override - public void handlerRemoved(ChannelHandlerContext ctx) { - // without this check, addons will be removed twice - if (!removed) { - removed = true; - injector.removeAddonsCall(channel); - } - } - - @Override - protected void encode(ChannelHandlerContext ctx, ByteBuf msg, ByteBuf out) { - if (loggedIn) { - out.writeBytes(msg); - return; - } - - int index = msg.readerIndex(); - if (Utils.readVarInt(msg) == Constants.LOGIN_SUCCESS_PACKET_ID) { - loggedIn = true; - injector.loginSuccessCall(channel); - } - - msg.readerIndex(index); - out.writeBytes(msg); - } -} diff --git a/common/src/main/java/org/geysermc/floodgate/inject/CommonPlatformInjector.java b/common/src/main/java/org/geysermc/floodgate/inject/CommonPlatformInjector.java index 00a4b63c..b9e3c253 100644 --- a/common/src/main/java/org/geysermc/floodgate/inject/CommonPlatformInjector.java +++ b/common/src/main/java/org/geysermc/floodgate/inject/CommonPlatformInjector.java @@ -45,7 +45,7 @@ public abstract class CommonPlatformInjector implements PlatformInjector { return injectedClients.add(channel); } - protected boolean removeInjectedClient(Channel channel) { + public boolean removeInjectedClient(Channel channel) { return injectedClients.remove(channel); } @@ -76,20 +76,6 @@ public abstract class CommonPlatformInjector implements PlatformInjector { } } - /** - * Method to loop through all the addons and call {@link InjectorAddon#onLoginDone(Channel)} if - * {@link InjectorAddon#shouldInject()}. - * - * @param channel the channel that was injected - */ - public void loginSuccessCall(Channel channel) { - for (InjectorAddon addon : addons.values()) { - if (addon.shouldInject()) { - addon.onLoginDone(channel); - } - } - } - /** * Method to loop throguh all the addons and call {@link InjectorAddon#onChannelClosed(Channel)} * if {@link InjectorAddon#shouldInject()} diff --git a/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataAddon.java b/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataAddon.java index 879a5c13..38a0b844 100644 --- a/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataAddon.java +++ b/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataAddon.java @@ -58,10 +58,6 @@ public final class SpigotDataAddon implements InjectorAddon { ); } - @Override - public void onLoginDone(Channel channel) { - } - @Override public void onChannelClosed(Channel channel) { FloodgatePlayer player = channel.attr(playerAttribute).get(); diff --git a/spigot/src/main/java/org/geysermc/floodgate/inject/spigot/SpigotInjector.java b/spigot/src/main/java/org/geysermc/floodgate/inject/spigot/SpigotInjector.java index a078e826..6a9de1a9 100644 --- a/spigot/src/main/java/org/geysermc/floodgate/inject/spigot/SpigotInjector.java +++ b/spigot/src/main/java/org/geysermc/floodgate/inject/spigot/SpigotInjector.java @@ -113,10 +113,6 @@ public final class SpigotInjector extends CommonPlatformInjector { protected void initChannel(Channel channel) { injectAddonsCall(channel, false); addInjectedClient(channel); - channel.closeFuture().addListener(listener -> { - channelClosedCall(channel); - removeInjectedClient(channel); - }); } }); } diff --git a/velocity/src/main/java/org/geysermc/floodgate/addon/data/VelocityDataAddon.java b/velocity/src/main/java/org/geysermc/floodgate/addon/data/VelocityDataAddon.java index c8fe3d47..1adca858 100644 --- a/velocity/src/main/java/org/geysermc/floodgate/addon/data/VelocityDataAddon.java +++ b/velocity/src/main/java/org/geysermc/floodgate/addon/data/VelocityDataAddon.java @@ -78,10 +78,6 @@ public final class VelocityDataAddon implements InjectorAddon { ); } - @Override - public void onLoginDone(Channel channel) { - } - @Override public void onChannelClosed(Channel channel) { FloodgatePlayer player = channel.attr(playerAttribute).get(); diff --git a/velocity/src/main/java/org/geysermc/floodgate/inject/velocity/VelocityInjector.java b/velocity/src/main/java/org/geysermc/floodgate/inject/velocity/VelocityInjector.java index 3947eea0..a5dc6dfe 100644 --- a/velocity/src/main/java/org/geysermc/floodgate/inject/velocity/VelocityInjector.java +++ b/velocity/src/main/java/org/geysermc/floodgate/inject/velocity/VelocityInjector.java @@ -105,10 +105,6 @@ public final class VelocityInjector extends CommonPlatformInjector { injector.injectAddonsCall(channel, proxyToServer); injector.addInjectedClient(channel); - channel.closeFuture().addListener(listener -> { - injector.channelClosedCall(channel); - injector.removeInjectedClient(channel); - }); } } }