Null Pointer Exception Problem

Discussion in 'Plugin Development' started by Plugers11, May 7, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Plugers11

    if(Config.getConfig("logging").contains(p.getName())){
     
  2. Offline

    Garris0n

    Post the full class(es) and full stack trace.
     
  3. Offline

    Plugers11

    if(c.getName().equalsIgnoreCase("odrej")){
    if(args.length == 2){
    Config.load("logowanie");
    if(args[0].equalsIgnoreCase("ktos")){
    Player target = (Player)Bukkit.getPlayer(args[1]);
    if(p.isOp()){
    if(Bukkit.getOnlinePlayers().equals(target)){
    if(Main.zalogowany.contains(target.getName())){
    Config.getConfig("logowanie").set("Haslo." + target.getName(), null);
    Config.save("logowanie");
    p.sendMessage("§6[§2§lR§4§lP§2§lG§6] §b§lPoprawnie odrejestrowany !");
    target.sendMessage("§6[§2§lR§4§lP§2§lG§6] §b§lZostales odrejestrowany !");
    }else{
    p.sendMessage("§6[§2§lR§4§lP§2§lG§6] §b§lNie ma konta !");
    }
    }
    }
    }
    }else if(args.length == 1){
    if(args[0].equalsIgnoreCase("ja")){
    Config.load("logowanie");
    if(Config.getConfig("logowanie").contains(p.getName())){
    if(Main.zalogowany.contains(p.getName())){
    Config.getConfig("logowanie").set("Haslo." + p.getName(), null);
    Config.save("logowanie");
    p.sendMessage("§6[§2§lR§4§lP§2§lG§6] §b§lPoprawnie odrejestrowany !");
    }
    }else{
    p.sendMessage("§6[§2§lR§4§lP§2§lG§6] §b§lNie masz konta !");
    }
    }
    }
    }

    [16:30:51 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'odre
    j' in plugin LogowanieFaja v1.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:17
    5) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServe
    r.java:683) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerCon
    nection.java:952) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :814) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat
    .java:47) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    Caused by: java.lang.NullPointerException
    at me.mrfajapl.logowanie.Komendy.onCommand(Komendy.java:72) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    ... 13 more
    >
     
  4. Offline

    Garris0n

    Okay, allow me to correct my statement:

    Paste the full class(es) and full stack trace in code tags.
     
  5. Offline

    Plugers11

    Config



    public class Config
    {
    private static List<RConfig> configs = new ArrayList<>();

    public static boolean registerConfig(int i, String fileName, JavaPlugin plugin)
    {
    File file = new File(plugin.getDataFolder(), fileName);
    if (!file.exists())
    {
    file.getParentFile().mkdirs();
    try
    {
    copy(plugin.getResource(fileName), file);
    }
    catch (Exception localException) {}
    }
    RConfig c = new RConfig(fileName, file);
    for (RConfig x : configs) {
    if (x.equals(c)) {
    return false;
    }
    }
    configs.add(c);
    return true;
    }

    public static boolean unregisterConfig(String id)
    {
    return configs.remove(getConfig(id));
    }

    public static RConfig getConfig(String id)
    {
    for (RConfig c : configs) {
    if (c.getConfigId().equalsIgnoreCase(id)) {
    return c;
    }
    }
    return null;
    }

    public static boolean save(String id)
    {
    RConfig c = getConfig(id);
    if (c == null) {
    return false;
    }
    try
    {
    c.save();
    }
    catch (Exception e)
    {
    print("An error occurred while saving a config with id " + id);
    e.printStackTrace();
    return false;
    }
    return true;
    }

    public static boolean saveAll()
    {
    try
    {
    for (RConfig c : configs) {
    c.save();
    }
    }
    catch (Exception e)
    {
    print("An error occurred while saving all configs");
    e.printStackTrace();
    return false;
    }
    return true;
    }

    public static boolean load(String id)
    {
    RConfig c = getConfig(id);
    if (c == null) {
    return false;
    }
    try
    {
    c.load();
    }
    catch (Exception e)
    {
    print("An error occurred while loading a config with id " + id);
    e.printStackTrace();
    return false;
    }
    return true;
    }

    public static boolean loadAll()
    {
    try
    {
    for (RConfig c : configs) {
    c.load();
    }
    }
    catch (Exception e)
    {
    print("An error occurred while loading all configs");
    e.printStackTrace();
    return false;
    }
    return true;
    }

    public static void clear(String id)
    {
    RConfig c = getConfig(id);
    if (c == null) {
    return;
    }
    configs.remove(c);
    configs.add(new RConfig(c.getConfigId(), c.getFile()));
    }

    private static void print(String msg)
    {
    System.out.println("Config: " + msg);
    }

    public static class RConfig
    extends YamlConfiguration
    {
    private String id;
    private File file;

    public String getConfigId()
    {
    return this.id;
    }

    public File getFile()
    {
    return this.file;
    }

    private RConfig(String id, File file)
    {
    this.id = id;
    this.file = file;
    }

    public void save()
    throws IOException
    {
    save(this.file);
    }

    public void load()
    throws InvalidConfigurationException, FileNotFoundException, IOException
    {
    load(this.file);
    }

    public boolean equals(RConfig c)
    {
    return c.getConfigId().equalsIgnoreCase(this.id);
    }
    }

    private static void copy(InputStream in, File file)
    throws IOException
    {
    OutputStream out = new FileOutputStream(file);
    byte[] buf = new byte[1024];
    int len;
    while ((len = in.read(buf)) > 0)
    {
    out.write(buf, 0, len);
    }
    out.close();
    in.close();
    }
    }
    Main
    Main plugin;

    public static List<String> zalogowany = new ArrayList<>();

    public void onEnable(){
    Config.registerConfig(1, "logowanie.yml", this);
    Config.loadAll();
    Config.save("logowanie.yml");
    getCommand("zaloguj").setExecutor(new Komendy());
    getCommand("rejestruj").setExecutor(new Komendy());
    getCommand("odrej").setExecutor(new Komendy());
    PluginManager pm = Bukkit.getPluginManager();
    pm.registerEvents(new Napisanie(), this);
    pm.registerEvents(new Wyjscie(), this);
    pm.registerEvents(new Poruszenie(), this);
    pm.registerEvents(new DMG(), this);
    pm.registerEvents(new Zjedzenie(), this);
    pm.registerEvents(new Zniszczenie(), this);
    pm.registerEvents(new Bud(), this);
    }

    public void onDisable(){
    Config.save("logowanie.yml");
    }


    Sorry for polish code
     
  6. Offline

    Necrodoom

  7. Offline

    Garris0n

  8. Offline

    Plugers11

    Solved

    I forgot to add .yml

    Sorry for problem
     
Thread Status:
Not open for further replies.

Share This Page