Advertisement
nuvemdev

Untitled

Dec 19th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.95 KB | None | 0 0
  1. package br.nuvem.especiais.Files;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.util.logging.Level;
  7.  
  8. import org.bukkit.configuration.file.FileConfiguration;
  9. import org.bukkit.configuration.file.YamlConfiguration;
  10.  
  11. import br.nuvem.especiais.Principal.Main;
  12.  
  13.  
  14. /**
  15.  *      @author NuvemDev 2014
  16.  *      @version v1
  17.  *
  18.  *  Todos os direitos reservados a NuvemDev.
  19.  *  É proibido realizar qualquer tipo de troca comercial
  20.  *  (que envolva dinheiro, bens materiais ou qualquer outro tipo de moeda de troca) por este plugin.
  21.  *  Seu uso é livre por qualquer servidor.
  22.  *  É proibido disponibilizar o download deste plugin em fóruns, sites, redes sociais ou qualquer outro meio de comunicação.
  23.  *  Só é permitido modificar para uso próprio.
  24.  *  Dúvidas, sugestões, acesse o site: http://forum.minecraft.com.br
  25.  *  
  26.  */
  27.  
  28. public class TermosFile {
  29.  
  30.     /** Essa linha vou usar para acessar a classe Main.
  31.       * Eu não posso instanciar uma nova classe Main, já que ela é a principal.
  32.       * Então, toda vez que eu for instanciar a minha classe TermosFile, vou precisar setar um valor nessa variável chamada
  33.       * plugin */
  34.  
  35.         Main plugin;
  36.  
  37.     // Essas linhas são as padrões para criar um arquivo. Você pode dar o nome que quiser para elas.
  38.         private FileConfiguration termosConfig = null;
  39.         private File termosConfigFile = null;
  40.  
  41.        
  42.     /** Esse método é para recarregar a file. Caso ela não exista, será criada uma nova file. É nela que setamos o valor do
  43.       * plugin */
  44.         public void reloadTermosConfig(){
  45.                
  46.         // É aqui que damos o valor do plugin. Esse getMain(); é um método static e está na Main.
  47.                 plugin = Main.getMain();
  48.                
  49.                 if (termosConfigFile == null){
  50.                        
  51.             // new File(local da file, nome da file); Você pode por o nome que quiser da File. Não esqueça o .yml!
  52.             // O plugin.getDataFolder(); é a pasta do plugin, isso o Bukkit é que gera. Só troque se tiver certeza do
  53.             // que estiver fazendo!
  54.                         termosConfigFile = new File(plugin.getDataFolder(), "Termos de Uso.yml");
  55.                 }
  56.        
  57.                 termosConfig = YamlConfiguration.loadConfiguration(termosConfigFile);
  58.                
  59.                // Não esqueça de trocar o nome de sua File aqui também!
  60.                 InputStream defConfigStream = plugin.getResource("Termos de Uso.yml");
  61.                
  62.                 if(defConfigStream != null){
  63.                        
  64.                         @SuppressWarnings("deprecation")
  65.                         YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
  66.                        
  67.                         termosConfig.setDefaults(defConfig);
  68.                 }
  69.         }
  70.        
  71.     // Esse método é para acessar a file. É por ele que criamos a mesma, já que dentro dele tem o método reloadTermosConfig()
  72.         public FileConfiguration getTermosConfig(){
  73.                
  74.                 if(termosConfig == null){
  75.                        
  76.                         reloadTermosConfig();
  77.                 }
  78.                
  79.                 return termosConfig;
  80.         }
  81.        
  82.     // Esse método salva a file. Vou falar mais sobre ele ai na resposta.
  83.         public void saveTermosConfig(){
  84.                
  85.                 if(termosConfig == null || termosConfigFile == null){
  86.                        
  87.                         return;
  88.                 }
  89.                
  90.                 try{
  91.                        
  92.                         getTermosConfig().save(termosConfigFile);
  93.                        
  94.                 } catch (IOException ex){
  95.                        
  96.                         plugin.getLogger().log(Level.SEVERE, "Não foi possivel salvar " + termosConfigFile, ex);
  97.                 }
  98.         }
  99.        
  100.         public void saveTermosDefaultConfig(){
  101.                
  102.                 if(termosConfigFile == null){
  103.                        
  104.             // Modifique o nome aqui também!
  105.                         termosConfigFile = new File(plugin.getDataFolder(), "Termos de Uso.yml");
  106.                 }
  107.                
  108.                 if(!termosConfigFile.exists()){
  109.                        
  110.             // E aqui também!
  111.                         plugin.saveResource("Termos de Uso.yml", false);
  112.                 }
  113.         }
  114.  
  115. }
  116.  
  117.  
  118.  
  119. // NA MINHA CLASSE MAIN EU TENHO OS SEGUINTES CÓDIGOS:
  120.  
  121.     /**
  122.      * Atributo responsável por dar acesso a classe Main em outras classes.
  123.      */
  124.     static Main plugin;
  125.    
  126.     /**
  127.      * Método para obter o valor do atributo plugin.
  128.      *
  129.      * @return plugin
  130.      */
  131.     public static Main getMain(){
  132.        
  133.         return plugin;
  134.     }
  135.  
  136.     /**
  137.      * Instanciando o objeto tf para gerenciar os Termos de Uso.
  138.      */
  139.     TermosFile tf = new TermosFile();
  140.  
  141.     /**
  142.      * Sempre que eu precisar acessar algo na minha nova file, eu usarei o objeto que eu criei na classe Main. tf.(método);
  143.      */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement