Discord

  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Bungeecord Bungeecord Config Funktioniert nicht richtig

YannickZockt

Minecrafter
Mitglied seit
24 Dezember 2016
Beiträge
2
Alter
19
Hallo zusammen,
habe folgendes Problem.

Erstmal der Code:

Java:
//OnEnable Methode

public void onEnable() {
    
    if(!getDataFolder().exists()) {
        getDataFolder().mkdir();
    }
    
    FileManager.loadConfig();

    MySQL.host = FileManager.getConfig().getString("MySQL.Host");
    MySQL.port = FileManager.getConfig().getString("MySQL.Port");
    MySQL.user = FileManager.getConfig().getString("MySQL.User");
    MySQL.passwort = FileManager.getConfig().getString("MySQL.Passwort");
    MySQL.database = FileManager.getConfig().getString("MySQL.Database");


}
Java:
import java.io.File;
import java.io.IOException;

import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;

public class FileManager {

    public static void loadConfig() {

        try {
            File file = getFile();
            if (!file.exists()) {
                file.createNewFile();
            }
            
            getConfig().set("Test", 1);
            
            if(getConfig().get("MySQL.Host") == null) {
            getConfig().set("MySQL.Host", "127.0.0.1");
            getConfig().set("MySQL.Port", "3306");
            getConfig().set("MySQL.User", "user");
            getConfig().set("MySQL.Passwort", "pw");
            getConfig().set("MySQL.Database", "db");
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(getConfig(), getFile());
            }
            

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static File getFile() {
        return new File("./plugins/FriendSystem/", "config.yml");
    }

    public static Configuration getConfig() {
        try {
            return ConfigurationProvider.getProvider(YamlConfiguration.class).load(getFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public static void saveConfig() {
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(getConfig(), getFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


}
Problem ist folgendes: Die Strings die ich erstellen möchte ich der "loadConfig" Methode, werden nicht abgespeichert. Es erscheint lediglich dies in der Config:

{}

Wäre super wenn mit jemand weiterhelfen kann...

Mit freundlichen Grüßen,
Yannick
 

ImNowAPro

Minecrafter
Osterei Experte
Mitglied seit
31 Dezember 2017
Beiträge
21
Alter
15
Minecraft
ImNowAPro
Das Problem ist, dass du mit der getConfig()-Methode jedes mal eine neue Config lädst. Somit speicherst jedes Mal eine leere Config. Das Problem könntest lösen, indem du die geladene Config in einer Variable abspeicherst.
 

ausgebildet

Redstoneengineer
Osterei Experte
Mitglied seit
30 Juni 2017
Beiträge
40
Alter
20
Minecraft
ausgebildet
Das Problem ist, dass du mit der getConfig()-Methode jedes mal eine neue Config lädst. Somit speicherst jedes Mal eine leere Config. Das Problem könntest lösen, indem du die geladene Config in einer Variable abspeicherst.
Du warst leider schneller ... aber so sollte es funktionieren.
 

YannickZockt

Minecrafter
Mitglied seit
24 Dezember 2016
Beiträge
2
Alter
19
Alles klar, Vielen dank!
Hab jetzt die Configuration statisch gemacht und jetzt klappt es.
Danke für den Tipp!
 
Oben