Skip to content

Commit

Permalink
Pass a YamlConfigurationLoader into VelocityConfigurationAdapter#crea…
Browse files Browse the repository at this point in the history
…teDummyInstance()
  • Loading branch information
DerEchtePilz committed Oct 8, 2024
1 parent 456c5a4 commit 36c6b4b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,17 @@ public CommandAPIMain(ProxyServer server, Logger logger, @DataDirectory Path dat
// Try to find the config file
Path configFile = dataDirectory.resolve("config.yml");

YamlConfigurationLoader loader = YamlConfigurationLoader.builder()
.nodeStyle(NodeStyle.BLOCK)
.path(configFile)
.build();

// Create or update config
VelocityConfigurationAdapter.createDummyInstance().saveDefaultConfig(configFile.getParent().toFile(), configFile.toFile(), logger);
VelocityConfigurationAdapter.createDummyInstance(loader).saveDefaultConfig(configFile.getParent().toFile(), configFile.toFile(), logger);

// Load the file as a yaml node
ConfigurationNode configYAML;
try {
YamlConfigurationLoader loader = YamlConfigurationLoader.builder()
.nodeStyle(NodeStyle.BLOCK)
.path(configFile)
.build();
configYAML = loader.load();
} catch (IOException e) {
throw new RuntimeException(e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import org.spongepowered.configurate.CommentedConfigurationNode;
import org.spongepowered.configurate.ConfigurationNode;
import org.spongepowered.configurate.serialize.SerializationException;
import org.spongepowered.configurate.yaml.NodeStyle;
import org.spongepowered.configurate.yaml.YamlConfigurationLoader;

import java.io.File;
Expand All @@ -14,8 +13,8 @@

public record VelocityConfigurationAdapter(YamlConfigurationLoader loader, CommentedConfigurationNode config, DefaultVelocityConfig defaultVelocityConfig) implements ConfigurationAdapter<ConfigurationNode> {

public static VelocityConfigurationAdapter createDummyInstance() {
return new VelocityConfigurationAdapter(null, null, null);
public static VelocityConfigurationAdapter createDummyInstance(YamlConfigurationLoader loader) {
return new VelocityConfigurationAdapter(loader, null, null);
}

@Override
Expand Down Expand Up @@ -80,10 +79,6 @@ public ConfigurationAdapter<ConfigurationNode> createNew() {

@Override
public void saveDefaultConfig(File directory, File configFile, Logger logger) {
YamlConfigurationLoader configLoader = YamlConfigurationLoader.builder()
.nodeStyle(NodeStyle.BLOCK)
.file(configFile)
.build();
DefaultVelocityConfig defaultConfig = DefaultVelocityConfig.createDefault();
ConfigGenerator configGenerator = ConfigGenerator.createNew(defaultConfig);
if (!directory.exists()) {
Expand All @@ -92,9 +87,9 @@ public void saveDefaultConfig(File directory, File configFile, Logger logger) {
logger.severe("Failed to create directory for the CommandAPI's config.yml file!");
}
try {
ConfigurationAdapter<ConfigurationNode> velocityConfigurationAdapter = new VelocityConfigurationAdapter(configLoader, configLoader.createNode(), defaultConfig);
ConfigurationAdapter<ConfigurationNode> velocityConfigurationAdapter = new VelocityConfigurationAdapter(loader, loader.createNode(), defaultConfig);
configGenerator.generate(velocityConfigurationAdapter);
configLoader.save(velocityConfigurationAdapter.config());
loader.save(velocityConfigurationAdapter.config());
} catch (IOException e) {
logger.severe("Could not create default config file! This is (probably) a bug.");
logger.severe("Error message: " + e.getMessage());
Expand All @@ -106,11 +101,11 @@ public void saveDefaultConfig(File directory, File configFile, Logger logger) {
} else {
try {
// If the config does exist, update it if necessary
CommentedConfigurationNode existingYamlConfig = configLoader.load();
ConfigurationAdapter<ConfigurationNode> existingConfig = new VelocityConfigurationAdapter(configLoader, existingYamlConfig, defaultConfig);
CommentedConfigurationNode existingYamlConfig = loader.load();
ConfigurationAdapter<ConfigurationNode> existingConfig = new VelocityConfigurationAdapter(loader, existingYamlConfig, defaultConfig);
ConfigurationAdapter<ConfigurationNode> updatedConfig = configGenerator.generate(existingConfig);
if (updatedConfig != null) {
configLoader.save(updatedConfig.config());
loader.save(updatedConfig.config());
}
} catch (IOException e) {
logger.severe("Could not update config! This is (probably) a bug.");
Expand Down

0 comments on commit 36c6b4b

Please sign in to comment.