bobmarley12345

bukkit simple config manager

Dec 24th, 2020
781
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package myplugin.configs;
  2.  
  3. import org.bukkit.configuration.InvalidConfigurationException;
  4. import org.bukkit.configuration.file.FileConfiguration;
  5. import org.bukkit.configuration.file.YamlConfiguration;
  6.  
  7. import java.io.File;
  8. import java.io.IOException;
  9.  
  10. import static org.bukkit.Bukkit.getLogger;
  11.  
  12. public final class ConfigManager {
  13.     public static FileConfiguration config;
  14.     public static File configfile;
  15.  
  16.     public static void Init() {
  17.         try {
  18.             getLogger().info("[CKL] Getting config file...");
  19.             configfile = new File(MyPlugin.instance.getDataFolder(), "config.yml");
  20.  
  21.             if (!configfile.exists()) {
  22.                 getLogger().info("[CKL] Config file doesn't exist. Creating...");
  23.                 configfile.getParentFile().mkdirs();
  24.                 MyPlugin.instance.saveResource("config.yml", false);
  25.                 getLogger().info("[CKL] Successfully created config file");
  26.             }
  27.  
  28.             config = new YamlConfiguration();
  29.  
  30.             try {
  31.                 getLogger().info("[CKL] Loading config file...");
  32.                 config.load(configfile);
  33.             }
  34.             catch (IOException io) {
  35.                 getLogger().info("[CKL] IOException when loading config");
  36.                 io.printStackTrace();
  37.             }
  38.             catch (InvalidConfigurationException e) {
  39.                 getLogger().info("[CKL] InvalidConfigurationException when loading config");
  40.                 e.printStackTrace();
  41.             }
  42.         }
  43.         catch (Exception e){
  44.             getLogger().info("[CKL] Failed to setup config file");
  45.             e.printStackTrace();
  46.         }
  47.     }
  48.  
  49.     public static void SaveConfig() {
  50.         try {
  51.             config.save(configfile);
  52.             getLogger().info("[CKL] config.yml has been saved");
  53.         }
  54.         catch (IOException e) {
  55.             getLogger().info("[CKL] config.yml could not be saved");
  56.         }
  57.     }
  58.  
  59.     public static void ReloadConfig() {
  60.         config = YamlConfiguration.loadConfiguration(configfile);
  61.         getLogger().info("[CKL] Successfully reloaded config");
  62.     }
  63. }
RAW Paste Data