misc: Improved config loading
This commit is contained in:
parent
64f4fd5176
commit
28a845d566
@ -21,6 +21,7 @@ import java.nio.file.Files;
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -32,7 +33,7 @@ public class AuthMeVelocityPlugin {
|
|||||||
private final Path pluginDirectory;
|
private final Path pluginDirectory;
|
||||||
private AuthmeVelocityAPI api;
|
private AuthmeVelocityAPI api;
|
||||||
|
|
||||||
protected final Set<UUID> loggedPlayers = Collections.<UUID>synchronizedSet(new HashSet<>());
|
protected final Set<UUID> loggedPlayers = Collections.synchronizedSet(new HashSet<>());
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public AuthMeVelocityPlugin(ProxyServer proxy, Logger logger, @DataDirectory Path dataDirectory) {
|
public AuthMeVelocityPlugin(ProxyServer proxy, Logger logger, @DataDirectory Path dataDirectory) {
|
||||||
@ -78,32 +79,23 @@ public class AuthMeVelocityPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Toml loadConfig(Path path){
|
private Toml loadConfig(Path path){
|
||||||
if(!Files.exists(path)){
|
|
||||||
try {
|
try {
|
||||||
|
if (Files.notExists(path)) {
|
||||||
Files.createDirectory(path);
|
Files.createDirectory(path);
|
||||||
} catch(IOException e){
|
|
||||||
configError(e);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Path configPath = path.resolve("config.toml");
|
Path configPath = path.resolve("config.toml");
|
||||||
if(!Files.exists(configPath)){
|
if (Files.notExists(configPath)) {
|
||||||
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream("config.toml")) {
|
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream("config.toml")) {
|
||||||
Files.copy(in, configPath);
|
Files.copy(Objects.requireNonNull(in, "The configuration does not exists"), configPath);
|
||||||
} catch(IOException e){
|
|
||||||
configError(e);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
return new Toml().read(Files.newInputStream(configPath));
|
|
||||||
} catch(IOException e){
|
|
||||||
configError(e);
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configError(Exception ex){
|
return new Toml().read(Files.newInputStream(configPath));
|
||||||
logger.info("An error ocurred on configuration initialization: {}", ex.getMessage());
|
} catch (IOException ex) {
|
||||||
|
logger.info("An error ocurred on configuration initialization", ex);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user