Помогите Объект file отображает NPE.

Bomber123

Активный участник
Пользователь
Баллы
76
Значит я создал класс ConfigurationManager добавил туды метод saveKeysFile().
Пишу команду /getkeys 10 и мне в консоль пишет NullPointerExeption и ссылается на объект File. Что делать никак не могу это пофиксить.
 
Значит я создал класс ConfigurationManager добавил туды метод saveKeysFile().
Пишу команду /getkeys 10 и мне в консоль пишет NullPointerExeption и ссылается на объект File. Что делать никак не могу это пофиксить.
Епт, а код мы угадывать должны?
 
Епт, а код мы угадывать должны?
Вы не знаете как файлы создавать. Напомню!
PHP:
File f = new File(getDataFolder() + File.separator + "keys.yml");

А про FileConfiguration ты думаю помнишь. А если нет то тоже напомню.
PHP:
FileConfiguration file = YamlConfiguration.loadConfiguration(f);
P.s. Если вы пришли по сраться в коментах то вон из этой темы вам в другую.
 
Он нам напоминает, как файлы создавать. Окей)0
Кидай код с указанием в какой строке ошибка.
Файлы сами по себе не кидают NPE, если только чьи-то корявые ручки им не помогли это сделать.
 
Последнее редактирование:
Вы не знаете как файлы создавать. Напомню!
PHP:
File f = new File(getDataFolder() + File.separator + "keys.yml");

А про FileConfiguration ты думаю помнишь. А если нет то тоже напомню.
PHP:
FileConfiguration file = YamlConfiguration.loadConfiguration(f);
P.s. Если вы пришли по сраться в коментах то вон из этой темы вам в другую.
Пасииииибо!! Ита самои то! Ток постав прификс "ТУТОРИАЛ" )
 
Последнее редактирование:
Он нам напоминает, как файлы создавать. Окей)0
Кидай код с указанием в какой строке ошибка.
Файлы сами по себе не кидают NPE, если только чьи-то корявые ручки им не помогли это сделать.
Если я всё правильно помню, он будет кидать нпе если файла нет
 
Если я всё правильно помню, он будет кидать нпе если файла нет
Просто проблема в том что чудо файл не может сохранять HashMap всякий раз когда я пишу команду /getkey 10 не в консоль пишет NPE и указывает на файл в который я пытаюсь запихнуть мап. Я на зарубежке посмотрел, попробовал и получил фиг с маслом опять NPE.
 
Просто проблема в том что чудо файл не может сохранять HashMap всякий раз когда я пишу команду /getkey 10 не в консоль пишет NPE и указывает на файл в который я пытаюсь запихнуть мап. Я на зарубежке посмотрел, попробовал и получил фиг с маслом опять NPE.
А как ты пытаешься это сделать? (код)
 
Просто проблема в том что чудо файл не может сохранять HashMap всякий раз когда я пишу команду /getkey 10 не в консоль пишет NPE и указывает на файл в который я пытаюсь запихнуть мап. Я на зарубежке посмотрел, попробовал и получил фиг с маслом опять NPE.
На зарубежке? Тебе тут на русском языке говорят, чтобы ты код дал, откуда нпе вылетает, а ты все равно не догоняешь.
 
На зарубежке? Тебе тут на русском языке говорят, чтобы ты код дал, откуда нпе вылетает, а ты все равно не догоняешь.
Омг, как ты не понимаешь у него топовый плагин, он не может палить сурсы
 
Омг, как ты не понимаешь у него топовый плагин, он не может палить сурсы
Шта ты несёшь?! Какой топовый! Я его для своего сервера делаю и палить не собираюсь.(господи что я сказал?)
Вот тебе сурцы.
PHP:
//Класс отвечающий за добавление и удаление ключей
package com.ac.dc;

import java.util.HashMap;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class AdderRemover
{
    private static CaseCommand pl;
    static HashMap<String, Integer> keys = new HashMap<>();
    
    public static void addKeys(Player player, int amount)
    {
        ConfigurationManager cfg = new ConfigurationManager(pl, "keys");
        for(String s : cfg.getCfg().getConfigurationSection("keysdata").getKeys(false))
        {
            int key = keys.get(player.getName()).intValue();
            key = key + amount;
            cfg.getCfg().set("keysdata."+s, key);
        }
    }
    
    public static void remove(Player player)
    {
        ConfigurationManager cfg = new ConfigurationManager(pl, "keys");
        for(String s : cfg.getCfg().getConfigurationSection("keysdata").getKeys(false))
        {
            int key = keys.get(player.getName()).intValue();
            if(key == 0)
            {
                player.sendMessage(ChatColor.RED+"У тебя нет ключей");
            }
            key = key -1;
            cfg.getCfg().set("keysdata."+s, key);
            cfg.saveKeysFile();
        }
    }   
}
 
Шта ты несёшь?! Какой топовый! Я его для своего сервера делаю и палить не собираюсь.(господи что я сказал?)
Вот тебе сурцы.
PHP:
//Класс отвечающий за добавление и удаление ключей
package com.ac.dc;

import java.util.HashMap;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class AdderRemover
{
    private static CaseCommand pl;
    static HashMap<String, Integer> keys = new HashMap<>();
  
    public static void addKeys(Player player, int amount)
    {
        ConfigurationManager cfg = new ConfigurationManager(pl, "keys");
        for(String s : cfg.getCfg().getConfigurationSection("keysdata").getKeys(false))
        {
            int key = keys.get(player.getName()).intValue();
            key = key + amount;
            cfg.getCfg().set("keysdata."+s, key);
        }
    }
  
    public static void remove(Player player)
    {
        ConfigurationManager cfg = new ConfigurationManager(pl, "keys");
        for(String s : cfg.getCfg().getConfigurationSection("keysdata").getKeys(false))
        {
            int key = keys.get(player.getName()).intValue();
            if(key == 0)
            {
                player.sendMessage(ChatColor.RED+"У тебя нет ключей");
            }
            key = key -1;
            cfg.getCfg().set("keysdata."+s, key);
            cfg.saveKeysFile();
        }
    } 
}
Дай строку, где нпе вылетает.
 
Ннну в обычном плане да, а с мапами работает точно также как и в прошлой версии.
Вот же есть пример работы с мапой.
Сам конфиг https://github.com/alexandrage/Example/blob/master/src/stack.yml
Тут идет чтение кастом конфига https://github.com/alexandrage/Example/blob/master/src/Example/Main.java#L27-L29
Тут мапа https://github.com/alexandrage/Example/blob/master/src/Example/StackList.java
Тут класс внутри мапы https://github.com/alexandrage/Example/blob/master/src/Example/Stack.java
В каком месте ты не понял то?
 
Назад
Верх