Fixed auto-setting auth-type to Floodgate

This commit is contained in:
Tim203 2023-04-26 18:52:12 +02:00
parent d4ffecb500
commit 7c1100b830
No known key found for this signature in database
GPG key ID: 736F3CD49EF01DBF
9 changed files with 51 additions and 45 deletions

View file

@ -136,15 +136,6 @@ public class GeyserBungeePlugin extends Plugin implements GeyserBootstrap {
}
}
if (geyserConfig.getRemote().authType() == AuthType.FLOODGATE && getProxy().getPluginManager().getPlugin("floodgate") == null) {
geyserLogger.severe(GeyserLocale.getLocaleStringLog("geyser.bootstrap.floodgate.not_installed") + " " + GeyserLocale.getLocaleStringLog("geyser.bootstrap.floodgate.disabling"));
return;
} else if (geyserConfig.isAutoconfiguredRemote() && getProxy().getPluginManager().getPlugin("floodgate") != null) {
// Floodgate installed means that the user wants Floodgate authentication
geyserLogger.debug("Auto-setting to Floodgate authentication.");
geyserConfig.getRemote().setAuthType(AuthType.FLOODGATE);
}
geyserConfig.loadFloodgate(this);
// Big hack - Bungee does not provide us an event to listen to, so schedule a repeating
@ -268,6 +259,11 @@ public class GeyserBungeePlugin extends Plugin implements GeyserBootstrap {
return findCompatibleListener().stream().mapToInt(InetSocketAddress::getPort).findFirst().orElse(-1);
}
@Override
public boolean isFloodgatePluginPresent() {
return getProxy().getPluginManager().getPlugin("floodgate") != null;
}
private Optional<InetSocketAddress> findCompatibleListener() {
return getProxy().getConfig().getListeners().stream()
.filter(info -> info.getSocketAddress() instanceof InetSocketAddress)