Hallo,
Ich möchte eine Config auf meinem BungeeCord erstellen und hab dafür folgenden Code geschrieben:
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:
mit dieser Methode bekomme ich folgenden Error:
Vielen Dank im Voraus
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