Fix default message loading, because default values are ignored by .getKeys()

This commit is contained in:
games647 committed 2018-04-05 17:33:32 +02:00
1 parent 352c72df64
commit f476c091bb
7 files changed
+39 -24

No files matched your search

@@ -11,6 +11,7 @@ import com.google.common.net.HostAndPort;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Proxy;
@@ -103,15 +104,26 @@ public class FastLoginCore<P extends C, C, T extends PlatformPlugin<C>> {
}
private Configuration loadFile(String fileName) throws IOException {
Configuration defaults;
ConfigurationProvider configProvider = ConfigurationProvider.getProvider(YamlConfiguration.class);
Configuration defaults;
try (InputStream defaultStream = getClass().getClassLoader().getResourceAsStream(fileName)) {
defaults = configProvider.load(defaultStream);
}
Path file = plugin.getPluginFolder().resolve(fileName);
return configProvider.load(Files.newBufferedReader(file), defaults);
Configuration config;
try (Reader reader = Files.newBufferedReader(file)) {
config = configProvider.load(reader);
}
//explicitly add keys here, because Configuration.getKeys doesn't return the keys from the default configuration
for (String key : defaults.getKeys()) {
config.set(key, defaults.get(key));
}
return config;
}
public MojangResolver getResolver() {