From befe6e87cd0097a03949f758bbaa1b4cac824271 Mon Sep 17 00:00:00 2001 From: 4drian3d Date: Mon, 15 Aug 2022 21:47:45 +0000 Subject: [PATCH] fix: Fixed random config reseting --- .../configuration/ConfigurationContainer.java | 2 -- .../common/configuration/Loader.java | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/me/adrianed/authmevelocity/common/configuration/ConfigurationContainer.java b/common/src/main/java/me/adrianed/authmevelocity/common/configuration/ConfigurationContainer.java index 57a392d..5315f53 100644 --- a/common/src/main/java/me/adrianed/authmevelocity/common/configuration/ConfigurationContainer.java +++ b/common/src/main/java/me/adrianed/authmevelocity/common/configuration/ConfigurationContainer.java @@ -45,8 +45,6 @@ public class ConfigurationContainer { try { final CommentedConfigurationNode node = loader.load(); newConfig = node.get(clazz); - node.set(clazz, config); - loader.save(node); return true; } catch (ConfigurateException exception) { logger.error("Could not load config.conf file", exception); diff --git a/common/src/main/java/me/adrianed/authmevelocity/common/configuration/Loader.java b/common/src/main/java/me/adrianed/authmevelocity/common/configuration/Loader.java index e87cec3..a0a52e7 100644 --- a/common/src/main/java/me/adrianed/authmevelocity/common/configuration/Loader.java +++ b/common/src/main/java/me/adrianed/authmevelocity/common/configuration/Loader.java @@ -1,5 +1,6 @@ package me.adrianed.authmevelocity.common.configuration; +import java.nio.file.Files; import java.nio.file.Path; import org.slf4j.Logger; @@ -11,21 +12,28 @@ import org.spongepowered.configurate.hocon.HoconConfigurationLoader; public final class Loader { private Loader() {} - public static ConfigurationContainer loadMainConfig(final Path path, Class clazz, Logger logger){ + public static ConfigurationContainer loadMainConfig(Path path, Class clazz, Logger logger) { + path = path.resolve("config.conf"); + final boolean firstCreation = Files.notExists(path); final HoconConfigurationLoader loader = HoconConfigurationLoader.builder() .defaultOptions(opts -> opts .shouldCopyDefaults(true) - .header("AuthMeVelocity | by Glyart & 4drian3d\n") + .header(""" + AuthMeVelocity | by Glyart & 4drian3d + """) ) - .path(path.resolve("config.conf")) + .path(path) .build(); final C config; try { final CommentedConfigurationNode node = loader.load(); config = node.get(clazz); - node.set(clazz, config); - loader.save(node); + if (firstCreation) { + node.set(clazz, config); + loader.save(node); + } + } catch (ConfigurateException exception){ logger.error("Could not load config.conf file", exception); return null;