mrkirby153

Untitled

Oct 20th, 2013
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.10 KB | None | 0 0
  1. package me.mrkirby153.plugins.theplague;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import me.mrkirby153.plugins.theplague.arena.Arena;
  7. import me.mrkirby153.plugins.theplague.command.ThePlagueCommand;
  8. import me.mrkirby153.plugins.theplague.helpers.*;
  9. import org.bukkit.configuration.file.FileConfiguration;
  10. import org.bukkit.configuration.file.YamlConfiguration;
  11. import org.bukkit.plugin.PluginDescriptionFile;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. public class ThePlague extends JavaPlugin{
  15.     public static String pluginVersion;
  16.     public static Arena arena;
  17.    
  18.     private FileConfiguration arenaConfig = null;
  19.     public File arenaConfigurationFile = null;
  20.     @Override
  21.     public void onDisable() {
  22.         PluginDescriptionFile pdfFile = this.getDescription();
  23.         ChatHelper.sendToConsole(pdfFile.getName()+" shutting down...");
  24.         ChatHelper.sendToConsole(pdfFile.getName()+" made by "+pdfFile.getAuthors());
  25.     }
  26.    
  27.     @Override
  28.     public void onEnable() {
  29.         arena = new Arena(this);
  30.         PluginDescriptionFile pdfFile = this.getDescription();
  31.         ChatHelper.sendToConsole("Starting "+pdfFile.getName()+" version: "+pdfFile.getVersion()+"...");
  32.         this.saveDefaultConfig();
  33.         pluginVersion = pdfFile.getVersion();
  34.         //Register commands
  35.         getCommand("theplague").setExecutor(new ThePlagueCommand(this));
  36.         //Load the arenas from disk
  37.         ChatHelper.sendToConsole("Loading arenas...");
  38.         getArenaFile();
  39.         Arena.getArenas();
  40.         // Add help for commands
  41.         ChatHelper.addHelpCommand("help", "Displays this help message");
  42.         ChatHelper.addHelpCommand("create help", "Displays Arena Creation Help");
  43.         // Add help for creation commands
  44.         ChatHelper.addCreateHelp("help", "Displays this help message");
  45.         ChatHelper.addCreateHelp("pos1 <area>", "Sets point 1 for <area> protection. Applicable arguments are \"lobby\" or \"arena\"");
  46.     }
  47.    
  48.    
  49.     public void reloadArenas(){
  50.         if(arenaConfigurationFile == null){
  51.             arenaConfigurationFile = new File(getDataFolder(), "arenas.yml");
  52.         }
  53.         arenaConfig = YamlConfiguration.loadConfiguration(arenaConfigurationFile);
  54.        
  55.         InputStream defConfigStream = this.getResource("arenas.yml");
  56.         if(defConfigStream != null){
  57.             YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
  58.             arenaConfig.setDefaults(defConfig);
  59.         }
  60.     }
  61.     public FileConfiguration getArenaFile(){
  62.         if(arenaConfig == null){
  63.             reloadArenas();
  64.         }
  65.         return arenaConfig;
  66.     }
  67.    
  68.     public void saveArenas(){
  69.         if(arenaConfig == null || arenaConfigurationFile == null){
  70.             return;
  71.         }
  72.         try{
  73.             getArenaFile().save(arenaConfigurationFile);
  74.         }catch(IOException e){
  75.             ChatHelper.sendToConsole("[SEVERE] Could not save config to "+arenaConfigurationFile);
  76.         }
  77.     }
  78.    
  79.     public void save(){
  80.         this.saveConfig();
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment