Ir para conteúdo

Config personalizada


S0_Dev

Posts Recomendados

Opa estou criando um plugin de cash ja esta tudo pronto mas tenho que criar uma config personalizada para salvar o hashmap ja que quando o servidor reinicia não salva 

 

então quero saber como cria uma config personalizada

 

tipo Data.yml

ai vai salvando tipo

S0_Dev:

   255

Link para o comentário
Compartilhar em outros sites

Arquivos .yml não devem ser utilizados para isto, recomendo utilizar SQLite ou MySQL, porém caso mesmo assim você queira usar .yml, pode utilizar:
 

main.getInstance().getConfig().set(p.getName() + ".", quantidade);

E para pegar a quantidade:

main.getInstance().getConfig().getDouble(p.getName() + ".");

 

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, SrD3ad disse:

Arquivos .yml não devem ser utilizados para isto, recomendo utilizar SQLite ou MySQL, porém caso mesmo assim você queira usar .yml, pode utilizar:
  


main.getInstance().getConfig().set(p.getName() + ".", quantidade);

 E para pegar a quantidade:


main.getInstance().getConfig().getDouble(p.getName() + ".");

  

Não entendi na parte do "." eu boto o que eu quero? tipo minecraft.yml

e como assim na parte de pegar a quantidade

Link para o comentário
Compartilhar em outros sites

Te aconselho usar MySQL ou SQLite, mas aqui vai um tutorial.

SuaMain plugin = SuaMain.getInstance();

plugin.getConfig().set(p.getName()+".Quantidade", quantia);
try{
  plugin.getConfig().saveConfig();
  //Voce pode enviar uma mensagem para o console
  System.out.printIn("Configurações salvas!");
}catch (Exception e){
  System.out.printIn("Falha ao salvar a config!");
}

 

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, yDoom disse:

Te aconselho usar MySQL ou SQLite, mas aqui vai um tutorial.


SuaMain plugin = SuaMain.getInstance();

plugin.getConfig().set(p.getName()+".Quantidade", quantia);
try{
  plugin.getConfig().saveConfig();
  //Voce pode enviar uma mensagem para o console
  System.out.printIn("Configurações salvas!");
}catch (Exception e){
  System.out.printIn("Falha ao salvar a config!");
}

 

Realmente não entendi muito ?
tipo minha hashmap se chama CashMap

comandos.Cash.CashMap ai tó bem bugado me desculpe eu ser burro .-.

Link para o comentário
Compartilhar em outros sites

7 minutos atrás, S0_Dev disse:

Realmente não entendi muito ?
tipo minha hashmap se chama CashMap

comandos.Cash.CashMap ai tó bem bugado me desculpe eu ser burro .-.

Oq você não entendeu?

 

Link para o comentário
Compartilhar em outros sites

Como eu posso criar outros arquivos em meu plugin? (Por exemplo: db.yml, mensagens.yml ou comandos.yml) Primeiramente, crie o arquivo que você quer criar em seu plugin

unknown.png

Após isso, crie essas variáveis:

private File file = null; private FileConfiguration fileConfiguration = null;

No onEnable, coloque isso

File verificar = new File(getDataFolder(), "db.yml"); if (!verificar.exists()) saveResource("db.yml", false);

Isso é para verificar se já existe o db.yml e caso não exista, cria-lo (semelhante ao saveDefaultConfig)(editado)

Agora, pra você pegar o arquivo que você quer

public FileConfiguration getDB() { if (this.fileConfiguration == null) { this.file = new File(getDataFolder(), "db.yml"); this.fileConfiguration = (FileConfiguration) YamlConfiguration.loadConfiguration(this.file); } return this.fileConfiguration; }

Isso é semelhante ao getConfig.

Para você salvar o arquivo que você queira

public void saveDB() { try { getDB().save(this.file); } catch (Exception exception) { } }

Semelhante ao saveConfig

Agora por final, pra você recarregar o seu arquivo

public void reloadDB() { if (this.file == null) this.file = new File(getDataFolder(), "db.yml"); this.fileConfiguration = (FileConfiguration) YamlConfiguration.loadConfiguration(this.file); if (this.fileConfiguration != null) { YamlConfiguration db = YamlConfiguration.loadConfiguration(this.file); this.fileConfiguration.setDefaults((Configuration) db); } }

Semelhante ao reloadConfig

OBS: Caso você queira um mensagens.yml, só mudar tudo para mensagens

 

Código final:

    private File file = null;
    private FileConfiguration fileConfiguration = null;

    @Override
    public void onEnable() {
        File verificar = new File(getDataFolder(), "db.yml");
        if (!verificar.exists())
            saveResource("db.yml", false);
    }

    public FileConfiguration getDB() {
        if (this.fileConfiguration == null) {
            this.file = new File(getDataFolder(), "db.yml");
            this.fileConfiguration = (FileConfiguration) YamlConfiguration.loadConfiguration(this.file);
        }
        return this.fileConfiguration;
    }

    public void saveDB() {
        try {
            getDB().save(this.file);
        } catch (Exception exception) {
        }
    }

    public void reloadDB() {
        if (this.file == null)
            this.file = new File(getDataFolder(), "db.yml");
        this.fileConfiguration = (FileConfiguration) YamlConfiguration.loadConfiguration(this.file);
        if (this.fileConfiguration != null) {
            YamlConfiguration db = YamlConfiguration.loadConfiguration(this.file);
            this.fileConfiguration.setDefaults((Configuration) db);
        }
    }

 

Abraços!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...