Improved Configuration
- Changed yaml format to hocon
This commit is contained in:
parent
ec314e54b9
commit
5b32a71409
@ -40,7 +40,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.spongepowered</groupId>
|
||||
<artifactId>configurate-yaml</artifactId>
|
||||
<artifactId>configurate-hocon</artifactId>
|
||||
<version>4.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@ -45,8 +45,8 @@ public class AuthMeVelocityPlugin {
|
||||
logger.info("-- AuthMeVelocity enabled --");
|
||||
var config = AuthMeConfig.getConfig();
|
||||
logger.info("AuthServers: {}", config.getAuthServers());
|
||||
if(config.sendToServer()){
|
||||
logger.info("LobbyServers: {}", config.getTeleportServers());
|
||||
if(config.getToServerOptions().sendToServer()){
|
||||
logger.info("LobbyServers: {}", config.getToServerOptions().getTeleportServers());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,20 +9,20 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
import org.spongepowered.configurate.CommentedConfigurationNode;
|
||||
import org.spongepowered.configurate.ConfigurateException;
|
||||
import org.spongepowered.configurate.hocon.HoconConfigurationLoader;
|
||||
import org.spongepowered.configurate.objectmapping.ConfigSerializable;
|
||||
import org.spongepowered.configurate.objectmapping.meta.Comment;
|
||||
import org.spongepowered.configurate.yaml.YamlConfigurationLoader;
|
||||
|
||||
public class AuthMeConfig {
|
||||
public static void loadConfig(@NotNull Path path, @NotNull Logger logger){
|
||||
File configFile = new File(path.toFile(), "config.yml");
|
||||
final YamlConfigurationLoader loader = YamlConfigurationLoader.builder()
|
||||
File configFile = new File(path.toFile(), "config.conf");
|
||||
final HoconConfigurationLoader loader = HoconConfigurationLoader.builder()
|
||||
.defaultOptions(opts -> opts.shouldCopyDefaults(true))
|
||||
.file(configFile)
|
||||
.build();
|
||||
|
||||
try {
|
||||
CommentedConfigurationNode node = loader.load();
|
||||
final CommentedConfigurationNode node = loader.load();
|
||||
config = node.get(Config.class);
|
||||
node.set(Config.class, config);
|
||||
loader.save(node);
|
||||
@ -30,34 +30,46 @@ public class AuthMeConfig {
|
||||
logger.error("Could not load configuration: {}", exception.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@ConfigSerializable
|
||||
public static class Config {
|
||||
|
||||
@Comment("List of authservers")
|
||||
@Comment("List of login/registration servers")
|
||||
private Set<String> authservers = Set.of(
|
||||
"auth1",
|
||||
"auth2"
|
||||
);
|
||||
|
||||
@Comment("Send each player to another server on login?")
|
||||
private ServerOnLogin send = new ServerOnLogin();
|
||||
|
||||
public Set<String> getAuthServers(){
|
||||
return this.authservers;
|
||||
}
|
||||
|
||||
public ServerOnLogin getToServerOptions(){
|
||||
return this.send;
|
||||
}
|
||||
}
|
||||
@ConfigSerializable
|
||||
public static class ServerOnLogin {
|
||||
@Comment("Send logged in players to another server?")
|
||||
private boolean sendToServerOnLogin = false;
|
||||
|
||||
@Comment("List of teleport to servers")
|
||||
@Comment("""
|
||||
List of servers to send
|
||||
One of these servers will be chosen at random
|
||||
""")
|
||||
private List<String> teleportServers = List.of(
|
||||
"lobby1",
|
||||
"lobby2"
|
||||
);
|
||||
|
||||
public Set<String> getAuthServers(){
|
||||
return authservers;
|
||||
}
|
||||
|
||||
public boolean sendToServer(){
|
||||
return sendToServerOnLogin;
|
||||
return this.sendToServerOnLogin;
|
||||
}
|
||||
|
||||
public List<String> getTeleportServers(){
|
||||
return teleportServers;
|
||||
return this.teleportServers;
|
||||
}
|
||||
}
|
||||
private static Config config;
|
||||
|
@ -54,8 +54,8 @@ public class ProxyListener {
|
||||
if (AuthmeVelocityAPI.addPlayer(loggedPlayer)){
|
||||
RegisteredServer loginServer = loggedPlayer.getCurrentServer().orElseThrow().getServer();
|
||||
proxy.getEventManager().fireAndForget(new ProxyLoginEvent(loggedPlayer, loginServer));
|
||||
if(config.sendToServer()){
|
||||
List<String> serverList = config.getTeleportServers();
|
||||
if(config.getToServerOptions().sendToServer()){
|
||||
List<String> serverList = config.getToServerOptions().getTeleportServers();
|
||||
String randomServer = serverList.get(rm.nextInt(serverList.size()));
|
||||
Optional<RegisteredServer> optionalServer = proxy.getServer(randomServer);
|
||||
optionalServer.ifPresentOrElse(serverToSend -> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user