diff --git a/api/src/main/java/org/geysermc/floodgate/api/InstanceHolder.java b/api/src/main/java/org/geysermc/floodgate/api/InstanceHolder.java index 18646a62..07c3b080 100644 --- a/api/src/main/java/org/geysermc/floodgate/api/InstanceHolder.java +++ b/api/src/main/java/org/geysermc/floodgate/api/InstanceHolder.java @@ -30,11 +30,14 @@ import lombok.Getter; import org.geysermc.floodgate.api.handshake.HandshakeHandlers; import org.geysermc.floodgate.api.inject.PlatformInjector; import org.geysermc.floodgate.api.link.PlayerLink; +import org.geysermc.floodgate.api.packet.PacketHandlers; public final class InstanceHolder { @Getter private static FloodgateApi api; @Getter private static PlayerLink playerLink; + @Getter private static PlatformInjector injector; + @Getter private static PacketHandlers packetHandlers; @Getter private static HandshakeHandlers handshakeHandlers; private static UUID storedKey; @@ -42,6 +45,7 @@ public final class InstanceHolder { FloodgateApi floodgateApi, PlayerLink link, PlatformInjector platformInjector, + PacketHandlers packetHandlers, HandshakeHandlers handshakeHandlers, UUID key) { @@ -56,6 +60,7 @@ public final class InstanceHolder { api = floodgateApi; playerLink = link; injector = platformInjector; + InstanceHolder.packetHandlers = packetHandlers; InstanceHolder.handshakeHandlers = handshakeHandlers; return true; } diff --git a/common/src/main/java/org/geysermc/floodgate/FloodgatePlatform.java b/common/src/main/java/org/geysermc/floodgate/FloodgatePlatform.java index b056297a..cdca960f 100644 --- a/common/src/main/java/org/geysermc/floodgate/FloodgatePlatform.java +++ b/common/src/main/java/org/geysermc/floodgate/FloodgatePlatform.java @@ -39,6 +39,7 @@ import org.geysermc.floodgate.api.handshake.HandshakeHandlers; import org.geysermc.floodgate.api.inject.PlatformInjector; import org.geysermc.floodgate.api.link.PlayerLink; import org.geysermc.floodgate.api.logger.FloodgateLogger; +import org.geysermc.floodgate.api.packet.PacketHandlers; import org.geysermc.floodgate.config.FloodgateConfig; import org.geysermc.floodgate.config.FloodgateConfigHolder; import org.geysermc.floodgate.config.loader.ConfigLoader; @@ -75,6 +76,7 @@ public class FloodgatePlatform { @Named("dataDirectory") Path dataDirectory, ConfigLoader configLoader, FloodgateConfigHolder configHolder, + PacketHandlers packetHandlers, HandshakeHandlers handshakeHandlers) { if (!Files.isDirectory(dataDirectory)) { @@ -95,7 +97,7 @@ public class FloodgatePlatform { guice = guice.createChildInjector(new ConfigLoadedModule(config)); PlayerLink link = guice.getInstance(PlayerLinkLoader.class).load(); - InstanceHolder.set(api, link, this.injector, handshakeHandlers, KEY); + InstanceHolder.set(api, link, this.injector, packetHandlers, handshakeHandlers, KEY); } public boolean enable(Module... postInitializeModules) {