Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.nuvem.especiais.Files;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.logging.Level;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- import br.nuvem.especiais.Principal.Main;
- /**
- * @author NuvemDev 2014
- * @version v1
- *
- * Todos os direitos reservados a NuvemDev.
- * É proibido realizar qualquer tipo de troca comercial
- * (que envolva dinheiro, bens materiais ou qualquer outro tipo de moeda de troca) por este plugin.
- * Seu uso é livre por qualquer servidor.
- * É proibido disponibilizar o download deste plugin em fóruns, sites, redes sociais ou qualquer outro meio de comunicação.
- * Só é permitido modificar para uso próprio.
- * Dúvidas, sugestões, acesse o site: http://forum.minecraft.com.br
- *
- */
- public class TermosFile {
- /** Essa linha vou usar para acessar a classe Main.
- * Eu não posso instanciar uma nova classe Main, já que ela é a principal.
- * Então, toda vez que eu for instanciar a minha classe TermosFile, vou precisar setar um valor nessa variável chamada
- * plugin */
- Main plugin;
- // Essas linhas são as padrões para criar um arquivo. Você pode dar o nome que quiser para elas.
- private FileConfiguration termosConfig = null;
- private File termosConfigFile = null;
- /** Esse método é para recarregar a file. Caso ela não exista, será criada uma nova file. É nela que setamos o valor do
- * plugin */
- public void reloadTermosConfig(){
- // É aqui que damos o valor do plugin. Esse getMain(); é um método static e está na Main.
- plugin = Main.getMain();
- if (termosConfigFile == null){
- // new File(local da file, nome da file); Você pode por o nome que quiser da File. Não esqueça o .yml!
- // O plugin.getDataFolder(); é a pasta do plugin, isso o Bukkit é que gera. Só troque se tiver certeza do
- // que estiver fazendo!
- termosConfigFile = new File(plugin.getDataFolder(), "Termos de Uso.yml");
- }
- termosConfig = YamlConfiguration.loadConfiguration(termosConfigFile);
- // Não esqueça de trocar o nome de sua File aqui também!
- InputStream defConfigStream = plugin.getResource("Termos de Uso.yml");
- if(defConfigStream != null){
- @SuppressWarnings("deprecation")
- YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
- termosConfig.setDefaults(defConfig);
- }
- }
- // Esse método é para acessar a file. É por ele que criamos a mesma, já que dentro dele tem o método reloadTermosConfig()
- public FileConfiguration getTermosConfig(){
- if(termosConfig == null){
- reloadTermosConfig();
- }
- return termosConfig;
- }
- // Esse método salva a file. Vou falar mais sobre ele ai na resposta.
- public void saveTermosConfig(){
- if(termosConfig == null || termosConfigFile == null){
- return;
- }
- try{
- getTermosConfig().save(termosConfigFile);
- } catch (IOException ex){
- plugin.getLogger().log(Level.SEVERE, "Não foi possivel salvar " + termosConfigFile, ex);
- }
- }
- public void saveTermosDefaultConfig(){
- if(termosConfigFile == null){
- // Modifique o nome aqui também!
- termosConfigFile = new File(plugin.getDataFolder(), "Termos de Uso.yml");
- }
- if(!termosConfigFile.exists()){
- // E aqui também!
- plugin.saveResource("Termos de Uso.yml", false);
- }
- }
- }
- // NA MINHA CLASSE MAIN EU TENHO OS SEGUINTES CÓDIGOS:
- /**
- * Atributo responsável por dar acesso a classe Main em outras classes.
- */
- static Main plugin;
- /**
- * Método para obter o valor do atributo plugin.
- *
- * @return plugin
- */
- public static Main getMain(){
- return plugin;
- }
- /**
- * Instanciando o objeto tf para gerenciar os Termos de Uso.
- */
- TermosFile tf = new TermosFile();
- /**
- * Sempre que eu precisar acessar algo na minha nova file, eu usarei o objeto que eu criei na classe Main. tf.(método);
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement