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