mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-19 14:59:20 +00:00
Allow people to register a PacketHandler
This commit is contained in:
@@ -30,11 +30,14 @@ import lombok.Getter;
|
|||||||
import org.geysermc.floodgate.api.handshake.HandshakeHandlers;
|
import org.geysermc.floodgate.api.handshake.HandshakeHandlers;
|
||||||
import org.geysermc.floodgate.api.inject.PlatformInjector;
|
import org.geysermc.floodgate.api.inject.PlatformInjector;
|
||||||
import org.geysermc.floodgate.api.link.PlayerLink;
|
import org.geysermc.floodgate.api.link.PlayerLink;
|
||||||
|
import org.geysermc.floodgate.api.packet.PacketHandlers;
|
||||||
|
|
||||||
public final class InstanceHolder {
|
public final class InstanceHolder {
|
||||||
@Getter private static FloodgateApi api;
|
@Getter private static FloodgateApi api;
|
||||||
@Getter private static PlayerLink playerLink;
|
@Getter private static PlayerLink playerLink;
|
||||||
|
|
||||||
@Getter private static PlatformInjector injector;
|
@Getter private static PlatformInjector injector;
|
||||||
|
@Getter private static PacketHandlers packetHandlers;
|
||||||
@Getter private static HandshakeHandlers handshakeHandlers;
|
@Getter private static HandshakeHandlers handshakeHandlers;
|
||||||
private static UUID storedKey;
|
private static UUID storedKey;
|
||||||
|
|
||||||
@@ -42,6 +45,7 @@ public final class InstanceHolder {
|
|||||||
FloodgateApi floodgateApi,
|
FloodgateApi floodgateApi,
|
||||||
PlayerLink link,
|
PlayerLink link,
|
||||||
PlatformInjector platformInjector,
|
PlatformInjector platformInjector,
|
||||||
|
PacketHandlers packetHandlers,
|
||||||
HandshakeHandlers handshakeHandlers,
|
HandshakeHandlers handshakeHandlers,
|
||||||
UUID key) {
|
UUID key) {
|
||||||
|
|
||||||
@@ -56,6 +60,7 @@ public final class InstanceHolder {
|
|||||||
api = floodgateApi;
|
api = floodgateApi;
|
||||||
playerLink = link;
|
playerLink = link;
|
||||||
injector = platformInjector;
|
injector = platformInjector;
|
||||||
|
InstanceHolder.packetHandlers = packetHandlers;
|
||||||
InstanceHolder.handshakeHandlers = handshakeHandlers;
|
InstanceHolder.handshakeHandlers = handshakeHandlers;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.geysermc.floodgate.api.handshake.HandshakeHandlers;
|
|||||||
import org.geysermc.floodgate.api.inject.PlatformInjector;
|
import org.geysermc.floodgate.api.inject.PlatformInjector;
|
||||||
import org.geysermc.floodgate.api.link.PlayerLink;
|
import org.geysermc.floodgate.api.link.PlayerLink;
|
||||||
import org.geysermc.floodgate.api.logger.FloodgateLogger;
|
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.FloodgateConfig;
|
||||||
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||||
import org.geysermc.floodgate.config.loader.ConfigLoader;
|
import org.geysermc.floodgate.config.loader.ConfigLoader;
|
||||||
@@ -75,6 +76,7 @@ public class FloodgatePlatform {
|
|||||||
@Named("dataDirectory") Path dataDirectory,
|
@Named("dataDirectory") Path dataDirectory,
|
||||||
ConfigLoader configLoader,
|
ConfigLoader configLoader,
|
||||||
FloodgateConfigHolder configHolder,
|
FloodgateConfigHolder configHolder,
|
||||||
|
PacketHandlers packetHandlers,
|
||||||
HandshakeHandlers handshakeHandlers) {
|
HandshakeHandlers handshakeHandlers) {
|
||||||
|
|
||||||
if (!Files.isDirectory(dataDirectory)) {
|
if (!Files.isDirectory(dataDirectory)) {
|
||||||
@@ -95,7 +97,7 @@ public class FloodgatePlatform {
|
|||||||
guice = guice.createChildInjector(new ConfigLoadedModule(config));
|
guice = guice.createChildInjector(new ConfigLoadedModule(config));
|
||||||
PlayerLink link = guice.getInstance(PlayerLinkLoader.class).load();
|
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) {
|
public boolean enable(Module... postInitializeModules) {
|
||||||
|
|||||||
Reference in New Issue
Block a user