Fix loading config
Refactoring AmbassadorConfig
This commit is contained in:
parent
0fcf6af72f
commit
eaa974593c
|
|
@ -14,119 +14,121 @@ import java.nio.file.Path;
|
||||||
|
|
||||||
public class AmbassadorConfig {
|
public class AmbassadorConfig {
|
||||||
|
|
||||||
@Expose
|
@Expose
|
||||||
private int serverSwitchCancellationTime = 30;
|
private int serverSwitchCancellationTime = 30;
|
||||||
|
|
||||||
@Expose
|
@Expose
|
||||||
private boolean silenceWarnings = false;
|
private boolean silenceWarnings = false;
|
||||||
@Expose
|
@Expose
|
||||||
private boolean bypassRegistryCheck = false;
|
private boolean bypassRegistryCheck = false;
|
||||||
@Expose
|
@Expose
|
||||||
private boolean bypassModCheck = false;
|
private boolean bypassModCheck = false;
|
||||||
|
|
||||||
@Expose
|
@Expose
|
||||||
private boolean debugMode = false;
|
private boolean debugMode = false;
|
||||||
|
|
||||||
@Expose
|
@Expose
|
||||||
private boolean enableKickReset = false;
|
private boolean enableKickReset = false;
|
||||||
|
|
||||||
@Expose
|
@Expose
|
||||||
private String kickReconnectMessageString = "<red>Please reconnect.</red>";
|
private String kickReconnectMessageString = "<red>Please reconnect.</red>";
|
||||||
|
|
||||||
private AmbassadorConfig(boolean silenceWarnings, boolean bypassRegistryCheck, boolean bypassModCheck,
|
private AmbassadorConfig(boolean silenceWarnings, boolean bypassRegistryCheck, boolean bypassModCheck,
|
||||||
boolean debugMode, boolean enableKickReset, String kickReconnectMessageString) {
|
boolean debugMode, boolean enableKickReset, String kickReconnectMessageString) {
|
||||||
this.silenceWarnings = silenceWarnings;
|
this.silenceWarnings = silenceWarnings;
|
||||||
this.bypassRegistryCheck = bypassRegistryCheck;
|
this.bypassRegistryCheck = bypassRegistryCheck;
|
||||||
this.bypassModCheck = bypassModCheck;
|
this.bypassModCheck = bypassModCheck;
|
||||||
this.debugMode = debugMode;
|
this.debugMode = debugMode;
|
||||||
this.enableKickReset = enableKickReset;
|
this.enableKickReset = enableKickReset;
|
||||||
this.kickReconnectMessageString = kickReconnectMessageString;
|
this.kickReconnectMessageString = kickReconnectMessageString;
|
||||||
};
|
|
||||||
|
|
||||||
public static AmbassadorConfig read(Path path) throws IOException {
|
|
||||||
URL defaultConfigLocation = AmbassadorConfig.class.getClassLoader()
|
|
||||||
.getResource("default-ambassador.toml");
|
|
||||||
if (defaultConfigLocation == null) {
|
|
||||||
throw new RuntimeException("Default configuration file does not exist.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CommentedFileConfig config = CommentedFileConfig.builder(path)
|
;
|
||||||
.defaultData(defaultConfigLocation)
|
|
||||||
.autosave()
|
|
||||||
.preserveInsertionOrder()
|
|
||||||
.sync()
|
|
||||||
.build();
|
|
||||||
config.load();
|
|
||||||
|
|
||||||
double configVersion;
|
public static AmbassadorConfig read(Path path) throws IOException {
|
||||||
try {
|
URL defaultConfigLocation = AmbassadorConfig.class.getClassLoader()
|
||||||
configVersion = Double.parseDouble(config.getOrElse("config-version", "1.0"));
|
.getResource("default-ambassador.toml");
|
||||||
} catch (NumberFormatException e) {
|
if (defaultConfigLocation == null) {
|
||||||
configVersion = 1.0;
|
throw new RuntimeException("Default configuration file does not exist.");
|
||||||
|
}
|
||||||
|
|
||||||
|
CommentedFileConfig config = CommentedFileConfig.builder(path)
|
||||||
|
.defaultData(defaultConfigLocation)
|
||||||
|
.autosave()
|
||||||
|
.preserveInsertionOrder()
|
||||||
|
.sync()
|
||||||
|
.build();
|
||||||
|
config.load();
|
||||||
|
|
||||||
|
double configVersion;
|
||||||
|
try {
|
||||||
|
configVersion = Double.parseDouble(config.getOrElse("config-version", "1.0"));
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
configVersion = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean silenceWarnings = config.getOrElse("silence-warnings", false);
|
||||||
|
|
||||||
|
int serverSwitchCancellationTime = config.getOrElse("serverRedirectTimeout", 30);
|
||||||
|
|
||||||
|
boolean bypassRegistryCheck = config.getOrElse("bypass-registry-checks", false);
|
||||||
|
|
||||||
|
boolean bypassModCheck = config.getOrElse("bypass-mod-checks", false);
|
||||||
|
|
||||||
|
boolean debugMode = config.getOrElse("debug-mode", false);
|
||||||
|
|
||||||
|
String kickReconnectMessageString = config.getOrElse("disconnect-reset-message",
|
||||||
|
config.getOrElse("reconnect-message", "<red>Please reconnect.</red>"));
|
||||||
|
|
||||||
|
//Upgrade config
|
||||||
|
if (configVersion <= 2.0) {
|
||||||
|
Files.delete(path);
|
||||||
|
config = CommentedFileConfig.builder(path)
|
||||||
|
.defaultData(defaultConfigLocation)
|
||||||
|
.autosave()
|
||||||
|
.preserveInsertionOrder()
|
||||||
|
.sync()
|
||||||
|
.build();
|
||||||
|
config.load();
|
||||||
|
config.set("silence-warnings", silenceWarnings);
|
||||||
|
config.set("serverRedirectTimeout", serverSwitchCancellationTime);
|
||||||
|
config.set("bypass-registry-checks", bypassRegistryCheck);
|
||||||
|
config.set("bypass-mod-checks", bypassModCheck);
|
||||||
|
config.set("debug-mode", debugMode);
|
||||||
|
config.set("reconnect-message", kickReconnectMessageString);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean enableKickReset = config.getOrElse("enable-kick-reset", false);
|
||||||
|
|
||||||
|
return new AmbassadorConfig(silenceWarnings, bypassRegistryCheck, bypassModCheck,
|
||||||
|
debugMode, enableKickReset, kickReconnectMessageString);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean silenceWarnings = config.getOrElse("silence-warnings", false);
|
public int getServerSwitchCancellationTime() {
|
||||||
|
return serverSwitchCancellationTime;
|
||||||
int serverSwitchCancellationTime = config.getOrElse("serverRedirectTimeout", 30);
|
|
||||||
|
|
||||||
boolean bypassRegistryCheck = config.getOrElse("bypass-registry-checks", false);
|
|
||||||
|
|
||||||
boolean bypassModCheck = config.getOrElse("bypass-mod-checks", false);
|
|
||||||
|
|
||||||
boolean debugMode = config.getOrElse("debug-mode", false);
|
|
||||||
|
|
||||||
String kickReconnectMessageString = config.getOrElse("disconnect-reset-message",
|
|
||||||
config.getOrElse("reconnect-message", "<red>Please reconnect.</red>"));
|
|
||||||
|
|
||||||
//Upgrade config
|
|
||||||
if (configVersion <= 2.0) {
|
|
||||||
Files.delete(path);
|
|
||||||
config = CommentedFileConfig.builder(path)
|
|
||||||
.defaultData(defaultConfigLocation)
|
|
||||||
.autosave()
|
|
||||||
.preserveInsertionOrder()
|
|
||||||
.sync()
|
|
||||||
.build();
|
|
||||||
config.load();
|
|
||||||
config.set("silence-warnings", silenceWarnings);
|
|
||||||
config.set("serverRedirectTimeout", serverSwitchCancellationTime);
|
|
||||||
config.set("bypass-registry-checks", bypassRegistryCheck);
|
|
||||||
config.set("bypass-mod-checks", bypassModCheck);
|
|
||||||
config.set("debug-mode", debugMode);
|
|
||||||
config.set("reconnect-message", kickReconnectMessageString);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean enableKickReset = config.getOrElse("enable-kick-reset", false);
|
public boolean isSilenceWarnings() {
|
||||||
|
return silenceWarnings;
|
||||||
|
}
|
||||||
|
|
||||||
return new AmbassadorConfig(bypassRegistryCheck, bypassModCheck, silenceWarnings,
|
public boolean isBypassRegistryCheck() {
|
||||||
debugMode, enableKickReset, kickReconnectMessageString);
|
return bypassRegistryCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getServerSwitchCancellationTime() {
|
public boolean isBypassModCheck() {
|
||||||
return serverSwitchCancellationTime;
|
return bypassModCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSilenceWarnings() {
|
public boolean isDebugMode() {
|
||||||
return silenceWarnings;
|
return debugMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBypassRegistryCheck() {
|
public boolean isEnableKickReset() {
|
||||||
return bypassRegistryCheck;
|
return enableKickReset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBypassModCheck() {
|
public String getKickReconnectMessageString() {
|
||||||
return bypassModCheck;
|
return kickReconnectMessageString;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDebugMode() {
|
|
||||||
return debugMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isEnableKickReset() {
|
|
||||||
return enableKickReset;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getKickReconnectMessageString() {
|
|
||||||
return kickReconnectMessageString;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user