Skip to content

Commit 32b7eed

Browse files
committed
Don't update the Velocity config if not necessary
1 parent beeca43 commit 32b7eed

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

commandapi-platforms/commandapi-velocity/commandapi-velocity-plugin/src/main/java/dev/jorel/commandapi/CommandAPIMain.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public CommandAPIMain(ProxyServer server, Logger logger, @DataDirectory Path dat
4444
.path(configFile)
4545
.build();
4646

47-
new VelocityConfigurationAdapter(null, null).saveDefaultConfig(configFile.getParent().toFile(), configFile.toFile(), null);
47+
new VelocityConfigurationAdapter(null, null, null).saveDefaultConfig(configFile.getParent().toFile(), configFile.toFile(), null);
4848

4949
// If the config doesn't exist, load it from the resources
5050

commandapi-platforms/commandapi-velocity/commandapi-velocity-plugin/src/main/java/dev/jorel/commandapi/config/VelocityConfigurationAdapter.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
import java.nio.file.Files;
1212
import java.util.ArrayList;
1313
import java.util.Arrays;
14+
import java.util.HashMap;
1415
import java.util.HashSet;
1516
import java.util.List;
17+
import java.util.Map;
1618
import java.util.Set;
1719
import java.util.logging.Logger;
1820

19-
public record VelocityConfigurationAdapter(YamlConfigurationLoader loader, CommentedConfigurationNode config) implements ConfigurationAdapter<ConfigurationNode> {
21+
public record VelocityConfigurationAdapter(YamlConfigurationLoader loader, CommentedConfigurationNode config, DefaultVelocityConfig defaultVelocityConfig) implements ConfigurationAdapter<ConfigurationNode> {
2022

2123
@Override
2224
public void setValue(String key, Object value) {
@@ -43,7 +45,9 @@ public Object getValue(String key) {
4345

4446
@Override
4547
public String[] getComment(String key) {
46-
return new String[0];
48+
CommentedConfigOption<?> option = defaultVelocityConfig.getAllOptions().get(key);
49+
CommentedSection section = defaultVelocityConfig.getAllSections().get(key);
50+
return option != null ? option.comment() : section.comment();
4751
}
4852

4953
@Override
@@ -89,7 +93,7 @@ public ConfigurationAdapter<ConfigurationNode> complete() {
8993

9094
@Override
9195
public ConfigurationAdapter<ConfigurationNode> createNew() {
92-
return new VelocityConfigurationAdapter(loader, loader.createNode());
96+
return new VelocityConfigurationAdapter(loader, loader.createNode(), DefaultVelocityConfig.createDefault());
9397
}
9498

9599
@Override
@@ -98,12 +102,13 @@ public void saveDefaultConfig(File directory, File configFile, Logger logger) {
98102
.nodeStyle(NodeStyle.BLOCK)
99103
.file(configFile)
100104
.build();
101-
ConfigGenerator configGenerator = ConfigGenerator.createNew(DefaultVelocityConfig.createDefault());
105+
DefaultVelocityConfig defaultConfig = DefaultVelocityConfig.createDefault();
106+
ConfigGenerator configGenerator = ConfigGenerator.createNew(defaultConfig);
102107
if (!directory.exists()) {
103108
directory.mkdirs();
104109

105110
try {
106-
ConfigurationAdapter<ConfigurationNode> velocityConfigurationAdapter = new VelocityConfigurationAdapter(configLoader, configLoader.createNode());
111+
ConfigurationAdapter<ConfigurationNode> velocityConfigurationAdapter = new VelocityConfigurationAdapter(configLoader, configLoader.createNode(), defaultConfig);
107112
configGenerator.populateDefaultConfig(velocityConfigurationAdapter);
108113
configLoader.save(velocityConfigurationAdapter.config());
109114
} catch (IOException e) {
@@ -113,7 +118,7 @@ public void saveDefaultConfig(File directory, File configFile, Logger logger) {
113118
try {
114119
// If the config does exist, update it if necessary
115120
CommentedConfigurationNode existingYamlConfig = configLoader.load();
116-
ConfigurationAdapter<ConfigurationNode> existingConfig = new VelocityConfigurationAdapter(configLoader, existingYamlConfig);
121+
ConfigurationAdapter<ConfigurationNode> existingConfig = new VelocityConfigurationAdapter(configLoader, existingYamlConfig, defaultConfig);
117122
ConfigurationAdapter<ConfigurationNode> updatedConfig = configGenerator.generateWithNewValues(existingConfig);
118123
if (updatedConfig != null) {
119124
configLoader.save(updatedConfig.config());

0 commit comments

Comments
 (0)