Advertisement
Guest User

Config.java

a guest
Apr 14th, 2014
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.43 KB | None | 0 0
  1. package com.github.Gamecube762.IsMinecraftDown;
  2.  
  3. import org.bukkit.configuration.file.YamlConfiguration;
  4.  
  5. import java.io.File;
  6. import java.io.IOException;
  7.  
  8. /**
  9. * Created by Gamecube762 on 2/24/14.
  10. */
  11. public class Config {
  12.  
  13. Main main;
  14.  
  15. protected File configFile;
  16. protected YamlConfiguration config;
  17.  
  18. protected int Settings_checkDelay = 0;
  19.  
  20. protected boolean
  21. Settings_AutoUpdate,
  22. Settings_announce_MCwebsite,
  23. Settings_announce_session,
  24. Settings_announce_account,
  25. Settings_announce_auth,
  26. Settings_announce_skins,
  27. Settings_announce_authserver,
  28. Settings_announce_sessionserver,
  29. Settings_announce_MOTD
  30. ;
  31.  
  32. protected String
  33. Settings_announce_message,
  34. Settings_announce_MOTDmessage
  35. ;
  36.  
  37.  
  38. public Config(Main main){
  39. this.main = main;
  40.  
  41. this.main.getDataFolder().mkdirs();
  42.  
  43. configFile = new File(this.main.getDataFolder(), "config.yml");
  44. load();
  45.  
  46. updateConfig();
  47. loadConfig();
  48. }
  49.  
  50. public void updateConfig() {
  51.  
  52. if (!config.contains("Settings.checkDelay")) config.set("Settings.checkDelay", 5);
  53. if (!config.contains("Settings.AutoUpdate")) config.set("Settings.AutoUpdate", true);
  54. if (!config.contains("Settings.announce.message")) config.set("Settings.announce.message", "Warning, %Service% is Down!");
  55. if (!config.contains("Settings.announce.session")) config.set("Settings.announce.session", false);
  56. if (!config.contains("Settings.announce.account")) config.set("Settings.announce.account", false);
  57. if (!config.contains("Settings.announce.auth")) config.set("Settings.announce.auth", false);
  58. if (!config.contains("Settings.announce.skins")) config.set("Settings.announce.skins", false);
  59. if (!config.contains("Settings.announce.authserver")) config.set("Settings.announce.authserver", false);
  60. if (!config.contains("Settings.announce.sessionserver")) config.set("Settings.announce.sessionserver",false);
  61. if (!config.contains("Settings.announce.MOTD")) config.set("Settings.announce.MOTD", false);
  62. if (!config.contains("Settings.announce.MOTDmessage")) config.set("Settings.announce.MOTDmessage", "Warning, %Service% is Down!");
  63.  
  64. save();
  65. }
  66.  
  67. public void loadConfig(){
  68. load(); int a = Settings_checkDelay;
  69.  
  70. Settings_checkDelay = config.getInt("Settings.checkDelay");
  71.  
  72. Settings_AutoUpdate = config.getBoolean("Settings.AutoUpdate");
  73. Settings_announce_MCwebsite = config.getBoolean("Settings.announce.MCwebsite");
  74. Settings_announce_session = config.getBoolean("Settings.announce.session");
  75. Settings_announce_account = config.getBoolean("Settings.announce.account");
  76. Settings_announce_auth = config.getBoolean("Settings.announce.auth");
  77. Settings_announce_skins = config.getBoolean("Settings.announce.skins");
  78. Settings_announce_authserver = config.getBoolean("Settings.announce.authserver");
  79. Settings_announce_sessionserver = config.getBoolean("Settings.announce.sessionserver");
  80. Settings_announce_MOTD = config.getBoolean("Settings.announce.MOTD");
  81.  
  82. Settings_announce_message = config.getString("Settings.announce.message");
  83. Settings_announce_MOTDmessage = config.getString("Settings.announce.MOTDmessage");
  84.  
  85.  
  86. if (Settings_checkDelay == 0) {
  87. main.getLogger().info("Settings.checkDelay can't be 0, defaulting to 5");
  88. Settings_checkDelay = 5;
  89. saveConfig();
  90. }
  91.  
  92. if (Settings_checkDelay < 0) {
  93. Settings_checkDelay = Settings_checkDelay * -1;
  94. main.getLogger().info("Settings can't be negative, changing to " + Settings_checkDelay);
  95. saveConfig();
  96. }
  97.  
  98. //If the check delay changes, we want to update the Checker
  99. //check for change or if a == 0 (a will not be 0 unless plugin is starting)
  100. if (a != Settings_checkDelay || a == 0) main.updateStatusChecker(Settings_checkDelay);
  101.  
  102. }
  103.  
  104. public void saveConfig() {
  105. config.set("Settings.checkDelay", Settings_checkDelay);
  106. config.set("Settings.AutoUpdate", Settings_AutoUpdate);
  107. config.set("Settings.announce.message", Settings_announce_message);
  108. config.set("Settings.announce.MCwebsite", Settings_announce_MCwebsite);
  109. config.set("Settings.announce.session", Settings_announce_session);
  110. config.set("Settings.announce.account", Settings_announce_account);
  111. config.set("Settings.announce.auth", Settings_announce_auth);
  112. config.set("Settings.announce.skins", Settings_announce_skins);
  113. config.set("Settings.announce.authserver", Settings_announce_skins);
  114. config.set("Settings.announce.sessionserver", Settings_announce_authserver);
  115. config.set("Settings.announce.MOTD", Settings_announce_sessionserver);
  116. config.set("Settings.announce.MOTDmessage", Settings_announce_MOTDmessage);
  117.  
  118. save();
  119. }
  120.  
  121. //used to remove any unneeded lines in config file
  122. //also reorganizes file which can get unorganized when updating
  123. public void cleanUp() {
  124. saveConfig();
  125. loadConfig();
  126. config = new YamlConfiguration();
  127. saveConfig();
  128. }
  129.  
  130. //used to reset the config to the defaults if needed.
  131. protected void resetConfig(){
  132. config = new YamlConfiguration();
  133. updateConfig();
  134. }
  135.  
  136. private void load() { config = (configFile.exists()) ? YamlConfiguration.loadConfiguration(configFile) : new YamlConfiguration(); }
  137. private void save() { try {config.save(configFile);} catch (IOException e) { main.getLogger().severe("Couldn't save config file! [IOException ~ Couldn't write file]"); } }
  138.  
  139. public boolean isSettings_announce_MCwebsite() {
  140. return Settings_announce_MCwebsite;
  141. }
  142.  
  143. public boolean isSettings_announce_session() {
  144. return Settings_announce_session;
  145. }
  146.  
  147. public boolean isSettings_announce_account() {
  148. return Settings_announce_account;
  149. }
  150.  
  151. public boolean isSettings_announce_auth() {
  152. return Settings_announce_auth;
  153. }
  154.  
  155. public boolean isSettings_announce_skins() {
  156. return Settings_announce_skins;
  157. }
  158.  
  159. public boolean isSettings_announce_authserver() {
  160. return Settings_announce_authserver;
  161. }
  162.  
  163. public boolean isSettings_announce_sessionserver() {
  164. return Settings_announce_sessionserver;
  165. }
  166.  
  167. public boolean isSettings_announce_MOTD() {
  168. return Settings_announce_MOTD;
  169. }
  170.  
  171. public String getSettings_announce_message() {
  172. return Settings_announce_message;
  173. }
  174.  
  175. public String getSettings_announce_MOTDmessage() {
  176. return Settings_announce_MOTDmessage;
  177. }
  178.  
  179. public int getSettings_checkDelay() {
  180. return Settings_checkDelay;
  181. }
  182.  
  183. public boolean isSettings_AutoUpdate() {
  184. return Settings_AutoUpdate;
  185. }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement