Ir para conteúdo

[Configurações] Atualizando as configs do seu Plugin


FabioZumbi12

Posts Recomendados

Olá,

Vim aqui passar um método de vcs atualizarem as configs dos seus plugins no caso de vc adicionar ou modificar chaves e não precisar pedir pra toda vez o usuarios terem que deletar o config.yml.

O método é este:

private static FileConfiguration updateFile(File saved, String filename){
        YamlConfiguration finalyml = new YamlConfiguration();
    	try {
        	finalyml.load(saved);
		} catch (Exception e) {
			e.printStackTrace();
		}
        FileConfiguration tempConfig = YamlConfiguration.loadConfiguration(SeuPlugin.getInstance().getResource(filename)));
        for (String key:tempConfig.getKeys(true)){
            	Object obj = tempConfig.get(key);
        	if (finalyml.get(key) != null){
        		obj = finalyml.get(key);
        	}        	finalyml.set(key, obj);
    	}
        return finalyml;
}

E pra chamar simplesmente use isso:

File config = new File("plugins"+File.separator+"config.yml);

SeuPlugin.getInstance().getConfig().setDefaults(updateFile(config, "config.yml"));

Chame esse método no onload() ou e no comando de reload do seu plugin que vai recarregar tudo bunitin.
Reparem que eu não especifiquei p getConfig() dentro do método pq vcs podem usar ele pra todos seus arquivos de configuração, desde que ele exista dentro do seu jar.

Dai qualquer mudança que vc fizer no seu arquivo de configuração, esse método vai pegar os valores ja existentes e juntar com os novos não sobrepondo os que ja existem, e adicionando os novos.

 

Não esqueca de colocar pra salvar o arquivo de configuração no "onDisable()" do seu plugin!

Editado por FabioZumbi12
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...