• 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-API Problem

LinuxServer

Kuhfänger
Registriert
17 September 2016
Beiträge
50
Diamanten
0
Minecraft
LinuxServer
Guten Tag,

ich habe ein Problem mit der BungeeCord-API besser gesagt mit der Config-API.

Das Problem ist, dass sich die config.yml nicht erstellt und eine FileNotFoundException ausgegeben wird.

Code:
@Deprecated
    public static void loadValues() {
        File file = getFile();
        try {
            if(!file.exists()) {
                file.createNewFile();
                config.set("config.messages.prefix", "&eDeinServer &8| &7");
                config.set("config.messages.keinerechte", "%prefix% &cDazu hast du keine Rechte.");
                config.set("config.messages.maintenancekick", "§4&lMaintenance");
                config.set("config.messages.broadcast.prefix", "&c&lBroadcast &8| &9");
                config.set("config.slots", 100);
                config.set("config.motd.line1", "&eDeinServer &8- &7Dein Server");
                config.set("config.motd.line2", "&9BungeeSystem by ExceptionWolf &8| &4Wartungen");
                config.set("config.maintenance.enabled", true);
                config.set("config.maintenance.version", "§4&lMaintenance");
                config.set("config.maintenance.motd.line1", "&eDeinServer &8- &7Dein Server");
                config.set("config.maintenance.motd.line2", "&9BungeeSystem by ExceptionWolf &8| &4Wartungen");
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
            }
            maintenance = config.getBoolean("config.maintenance.enabled");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

public static File getFile() {
        return new File(Main.getInstance().getDataFolder(),"config.yml");
    }

Ich hoffe, dass ihr mir helfen könnt.

Mit freundlichen Grüßen
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Guten Tag,

ich habe ein Problem mit der BungeeCord-API besser gesagt mit der Config-API.

Das Problem ist, dass sich die config.yml nicht erstellt und eine FileNotFoundException ausgegeben wird.

Code:
@Deprecated
    public static void loadValues() {
        File file = getFile();
        try {
            if(!file.exists()) {
                file.createNewFile();
                config.set("config.messages.prefix", "&eDeinServer &8| &7");
                config.set("config.messages.keinerechte", "%prefix% &cDazu hast du keine Rechte.");
                config.set("config.messages.maintenancekick", "§4&lMaintenance");
                config.set("config.messages.broadcast.prefix", "&c&lBroadcast &8| &9");
                config.set("config.slots", 100);
                config.set("config.motd.line1", "&eDeinServer &8- &7Dein Server");
                config.set("config.motd.line2", "&9BungeeSystem by ExceptionWolf &8| &4Wartungen");
                config.set("config.maintenance.enabled", true);
                config.set("config.maintenance.version", "§4&lMaintenance");
                config.set("config.maintenance.motd.line1", "&eDeinServer &8- &7Dein Server");
                config.set("config.maintenance.motd.line2", "&9BungeeSystem by ExceptionWolf &8| &4Wartungen");
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
            }
            maintenance = config.getBoolean("config.maintenance.enabled");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

public static File getFile() {
        return new File(Main.getInstance().getDataFolder(),"config.yml");
    }

Ich hoffe, dass ihr mir helfen könnt.

Mit freundlichen Grüßen
In welcher Zeile wird denn deine Exception getriggert?
Warum weist du config erst nachdem du schon die ganzen Einstellungen gesetzt hast ein Objekt zu? die Einstellungen davor sind dann doch nutzlos.
Vielleicht hat dein Fehler etwas mit einem fehlenden Plugin-Verzeichnis zu tun, sodass dieses erst erstellt werden muss, aber ich rate gerade auch nur, da ich net weiß wo genau der Fehler auftritt.

Freundliche Grüße
BloodSKreaper
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Wie bereits angesprochen denke ich, dass der Fehler darin liegt, eine neue Datei in einem Verzeichnis zu erstellen, das es garnicht gibt. Du müsstest also zunächst das Plugin-DataFolder erstellen, bevor du dort eine Datei speichern kannst.
Code:
if (!Main.getInstance().getDataFolder().exists()) Main.getInstance().getDataFolder().mkdir();
 

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Bitte den Stacktrace posten, eine einzelne Zeile aus dem Stacktrace bring meistens nix.

Mir fallen viele gründe ein wieso es evtl. nicht funktioniert:
* Fehlende Parent Ordner
* Keine schreib rechte
* und noch einige andere sachen

Wenn du also nicht willst dass wir hier ein Ratespiel spielen dann poste einfach den kompletten stacktrace (bitte auf pastebin/hastebin oder im
Code:
 block)
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Dann füge doch mal in deine getFile() Methode hinzu:
Code:
Main.getInstance().getDataFolder().mkdirs();
Lasse dir zu Debug-Zwecken den Rückgabewert der Methode ausgeben. Wird dort ein "false" zurückgeliefert, dann musst du dir die Dateirechte noch mal anschauen oder nachschauen, ob eine Datei mit dem Namen des Ordners existiert, den du anlegen möchtest.
 

LinuxServer

Kuhfänger
Registriert
17 September 2016
Beiträge
50
Diamanten
0
Minecraft
LinuxServer
Code:
17:43:15 [SCHWERWIEGEND] java.io.IOException: Das System kann den angegebenen Pfad nicht finden
17:43:15 [SCHWERWIEGEND]     at java.io.WinNTFileSystem.createFileExclusively(Native Method)
17:43:15 [SCHWERWIEGEND]     at java.io.File.createNewFile(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.utils.ConfigManager.loadValues(ConfigManager.java:23)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.Main.onEnable(Main.java:29)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCord.start(BungeeCord.java:282)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:56)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
17:43:15 [SCHWERWIEGEND] java.io.FileNotFoundException: plugins\BungeeSystem\config.yml (Das System kann den angegebenen Pfad nicht finden)
17:43:15 [SCHWERWIEGEND]     at java.io.FileInputStream.open0(Native Method)
17:43:15 [SCHWERWIEGEND]     at java.io.FileInputStream.open(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at java.io.FileInputStream.<init>(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at java.io.FileReader.<init>(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:75)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:69)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.utils.ConfigManager.loadValues(ConfigManager.java:42)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.Main.onEnable(Main.java:29)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCord.start(BungeeCord.java:282)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:56)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
17:43:15 [SCHWERWIEGEND] java.io.FileNotFoundException: plugins\BungeeSystem\config.yml (Das System kann den angegebenen Pfad nicht finden)
17:43:15 [SCHWERWIEGEND]     at java.io.FileOutputStream.open0(Native Method)
17:43:15 [SCHWERWIEGEND]     at java.io.FileOutputStream.open(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at java.io.FileOutputStream.<init>(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at java.io.FileOutputStream.<init>(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at java.io.FileWriter.<init>(Unknown Source)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.config.YamlConfiguration.save(YamlConfiguration.java:54)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.utils.ConfigManager.loadValues(ConfigManager.java:47)
17:43:15 [SCHWERWIEGEND]     at de.Wolf.BungeeSystem.Main.onEnable(Main.java:29)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCord.start(BungeeCord.java:282)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:56)
17:43:15 [SCHWERWIEGEND]     at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
 
Oben