• 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 Config auf BungeeCord funktioniert nicht.

DrEm8ee

Kuhfänger
Registriert
10 Januar 2018
Beiträge
58
Diamanten
0
Minecraft
DrEm8ee
Hallo,

Ich möchte eine Config auf meinem BungeeCord erstellen und hab dafür folgenden Code geschrieben:

Java:
package de.kingforme13579.BungeeSystem.files;

import java.io.File;
import java.io.IOException;

import de.kingforme13579.BungeeSystem.main.Main;
import de.kingforme13579.BungeeSystem.utils.Var;
import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;

public class PlayerInfos {
    
    private static File file = new File(Main.getMain().getDataFolder(), "Players.yml");
    private static Configuration cfg;
    
    
    public static Configuration getCfg() {
        return cfg;
    }

    public static void create(){
        if(!Main.getMain().getDataFolder().exists()) {
            Main.getMain().getDataFolder().mkdir();
        }
        
        if(!file.exists()){
            
            try {
                System.out.println(Var.getConsolePrefix + "Versuche neue Config zu erstellen!");
                file.createNewFile();
                Save();               
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                System.out.println(Var.getConsolePrefix + "Neue Config konnte nicht erstellt werden!");
            }
            
            try {
                cfg = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
            } catch (Exception e) {
                // TODO: handle exception
            }
        }
    }
    
    public static void Save(){
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(cfg, file);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

Ebenfalls hab ich in der Main in der onEnable() die create Methode ausgeführt.

Die Datei wir ordnungsgemäß erstellt, aber wenn ich was reinschreiben will:

Java:
public static void addReportsinConfig (ProxiedPlayer p) {
        if(PlayerInfos.getCfg().get("players." + p.getName() + ".reports") != null){
            PlayerInfos.getCfg().set("players." + p.getName() + ".reports", getReportsInCofig(p) + 1);
        }
    }

mit dieser Methode bekomme ich folgenden Error:

Code:
12:00:52 [WARNUNG] Error in dispatching command
java.lang.NullPointerException
    at de.kingforme13579.BungeeSystem.cmd.report.GetReports.addReportsinConfig(GetReports.java:18)
    at de.kingforme13579.BungeeSystem.cmd.report.Report_CMD.execute(Report_CMD.java:41)
    at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:169)
    at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:116)
    at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:141)
    at net.md_5.bungee.protocol.packet.Chat.handle(Chat.java:50)
    at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:103)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
    at java.lang.Thread.run(Unknown Source)

Vielen Dank im Voraus
 
D

deleted202832

Guest
Du setzt der Configuration "cfg" keinen Wert aber gibst cfg bei der Methode "getCfg" zurück.
Deshalb die NullPointerException.

//EDIT//
Du gibst cfg schon einen Wert allerdings nur wenn die File nicht existiert^^
Schau dir doch bitte deinen Code genauer an bevor du einen Beitrag erstellst
 
Oben