Adds a custom plugin implementation that uses the StargateYamlConfiguration
All checks were successful
KnarCraft/KnarLib/pipeline/head This commit looks good

This commit is contained in:
2025-09-06 01:59:35 +02:00
parent 0a669c520b
commit a1b69c4d74

View File

@@ -0,0 +1,38 @@
package net.knarcraft.knarlib.plugin;
import net.knarcraft.knarlib.config.StargateYamlConfiguration;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
/**
* A plugin that uses a Stargate YAML configuration in order to retain all configuration comments
*/
@SuppressWarnings("unused")
public abstract class ConfigCommentPlugin implements Plugin {
protected StargateYamlConfiguration configuration = null;
@Override
public void reloadConfig() {
this.configuration = StargateYamlConfiguration.loadConfiguration(this, true);
}
@Override
public void saveConfig() {
if (this.configuration == null) {
this.reloadConfig();
}
StargateYamlConfiguration.saveConfiguration(this, this.configuration);
}
@Override
@NotNull
public FileConfiguration getConfig() {
if (this.configuration == null) {
this.reloadConfig();
}
return this.configuration;
}
}