diff --git a/bukkit/pom.xml b/bukkit/pom.xml
index cb63fe58..88aa979e 100644
--- a/bukkit/pom.xml
+++ b/bukkit/pom.xml
@@ -16,6 +16,10 @@
spigot-repo
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+ Jitpack
+ https://jitpack.io
+
@@ -43,6 +47,12 @@
${project.version}
compile
+
+ com.github.ProtocolSupport
+ ProtocolSupport
+ 5f712a969a
+ provided
+
diff --git a/bukkit/src/main/java/org/geysermc/floodgate/BukkitPlugin.java b/bukkit/src/main/java/org/geysermc/floodgate/BukkitPlugin.java
index 54430af0..0f13628a 100644
--- a/bukkit/src/main/java/org/geysermc/floodgate/BukkitPlugin.java
+++ b/bukkit/src/main/java/org/geysermc/floodgate/BukkitPlugin.java
@@ -14,6 +14,7 @@ import org.geysermc.floodgate.command.LinkAccountCommand;
import org.geysermc.floodgate.command.UnlinkAccountCommand;
import org.geysermc.floodgate.injector.BukkitInjector;
import org.geysermc.floodgate.util.CommandUtil;
+import org.geysermc.floodgate.util.ProtocolSupportUtil;
import org.geysermc.floodgate.util.ReflectionUtil;
import java.util.logging.Level;
@@ -52,6 +53,9 @@ public class BukkitPlugin extends JavaPlugin implements Listener {
// Register the plugin as an event listener to we get join and leave events
Bukkit.getServer().getPluginManager().registerEvents(this, this);
+
+ // Check for ProtocolSupport
+ ProtocolSupportUtil.checkForProtocolSupport(this);
}
@Override
diff --git a/bukkit/src/main/java/org/geysermc/floodgate/PacketHandler.java b/bukkit/src/main/java/org/geysermc/floodgate/PacketHandler.java
index e709c57b..c10038d7 100644
--- a/bukkit/src/main/java/org/geysermc/floodgate/PacketHandler.java
+++ b/bukkit/src/main/java/org/geysermc/floodgate/PacketHandler.java
@@ -7,7 +7,10 @@ import lombok.RequiredArgsConstructor;
import org.geysermc.floodgate.HandshakeHandler.HandshakeResult;
import org.geysermc.floodgate.injector.BukkitInjector;
import org.geysermc.floodgate.util.BedrockData;
+import org.geysermc.floodgate.util.ProtocolSupportUtil;
import org.geysermc.floodgate.util.ReflectionUtil;
+import protocolsupport.protocol.ConnectionImpl;
+import protocolsupport.protocol.packet.handler.AbstractLoginListener;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -94,7 +97,7 @@ public class PacketHandler extends SimpleChannelInboundHandler