From 9e04d7244975663a33fec30872a21db982fd6e8b Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Sat, 6 Sep 2025 16:14:08 +0200 Subject: [PATCH] Makes sure configuration pointers are still valid after reloading --- .../config/StargateYamlConfiguration.java | 21 ++++++++++++------- .../knarlib/plugin/ConfigCommentPlugin.java | 6 +++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/knarcraft/knarlib/config/StargateYamlConfiguration.java b/src/main/java/net/knarcraft/knarlib/config/StargateYamlConfiguration.java index 0270eed..e005f39 100644 --- a/src/main/java/net/knarcraft/knarlib/config/StargateYamlConfiguration.java +++ b/src/main/java/net/knarcraft/knarlib/config/StargateYamlConfiguration.java @@ -40,14 +40,6 @@ public class StargateYamlConfiguration extends YamlConfiguration { private static final String END_OF_COMMENT = "_endOfComment_"; private static final String START_OF_COMMENT = "comment_"; - @Override - @NotNull - @Deprecated - @SuppressWarnings("deprecation") - protected String buildHeader() { - return ""; - } - @Override @NotNull public String saveToString() { @@ -61,6 +53,19 @@ public class StargateYamlConfiguration extends YamlConfiguration { super.loadFromString(this.convertCommentsToYAMLMappings(contents)); } + /** + * Reloads this configuration + * + * @param plugin

The plugin this configuration belongs to

+ */ + public void reload(@NotNull Plugin plugin) { + try { + this.load(new File(plugin.getDataFolder(), ConfigHelper.getConfigFile())); + } catch (IOException | InvalidConfigurationException exception) { + plugin.getLogger().log(Level.SEVERE, "Unable to load the configuration! Message: " + exception.getMessage()); + } + } + /** * Loads the configuration of the given plugin * diff --git a/src/main/java/net/knarcraft/knarlib/plugin/ConfigCommentPlugin.java b/src/main/java/net/knarcraft/knarlib/plugin/ConfigCommentPlugin.java index e47d261..0b6de9f 100644 --- a/src/main/java/net/knarcraft/knarlib/plugin/ConfigCommentPlugin.java +++ b/src/main/java/net/knarcraft/knarlib/plugin/ConfigCommentPlugin.java @@ -46,7 +46,11 @@ public abstract class ConfigCommentPlugin extends JavaPlugin { @Override public void reloadConfig() { - this.configuration = StargateYamlConfiguration.loadConfiguration(this, true); + if (this.configuration == null) { + this.configuration = StargateYamlConfiguration.loadConfiguration(this, true); + } else { + this.configuration.reload(this); + } } @Override