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

Bomber123

Активный участник
Пользователь
Баллы
76
Значит я создал класс ConfigurationManager добавил туды метод saveKeysFile().
Пишу команду /getkeys 10 и мне в консоль пишет NullPointerExeption и ссылается на объект File. Что делать никак не могу это пофиксить.
 
Всё что нужно это HashMap с ключом String и значением Integer сохранить в файл keys.yml и потом когда плагин включался то происходил перебор всех игроков на сервере и конфига и находилось соответсвие, и сохранялось в мап. Аналогичная ситуация с ивентом захода игрока на сервере.
 
Ты видимо не понял что мне надо игроков с их ключами сохранять там ведь написана команда /getkey именно она не работает.
Суть не меняется. Точно так же все. В примере разные типы данных и лист и мап.
 
Задолбал ты конечно со своими тупыми вопросами, яву уж хотя бы за год можно выучить на элементарном уровне?
Код:
    public void saveKeys(HashMap<String, Integer> keys, FileConfiguration config){
        for(Map.Entry<String, Integer> entry : keys.entrySet()){
            config.set("keys." + entry.getKey() + ".amount", entry.getValue());
        }
    }
    
    public HashMap<String, Integer> loadKeys(FileConfiguration config){
        HashMap<String, Integer> keys = new HashMap<>();
        for(String name : config.getConfigurationSection("keys").getKeys(false)){
            int amount = config.getInt("keys." + name + ".amount");
            keys.put(name, amount);
        }
        return keys;
    }
 
Задолбал ты конечно со своими тупыми вопросами, яву уж хотя бы за год можно выучить на элементарном уровне?
Код:
    public void saveKeys(HashMap<String, Integer> keys, FileConfiguration config){
        for(Map.Entry<String, Integer> entry : keys.entrySet()){
            config.set("keys." + entry.getKey() + ".amount", entry.getValue());
        }
    }
 
    public HashMap<String, Integer> loadKeys(FileConfiguration config){
        HashMap<String, Integer> keys = new HashMap<>();
        for(String name : config.getConfigurationSection("keys").getKeys(false)){
            int amount = config.getInt("keys." + name + ".amount");
            keys.put(name, amount);
        }
        return keys;
    }
Любите же вы себе жизнь усложнять.

PHP:
    void set(FileConfiguration cfg, Map<String, Integer> map) {
        cfg.set("keys", map);
    }
  
    Map<String, Integer> get(FileConfiguration cfg) {
        ConfigurationSection cs = cfg.getConfigurationSection("keys");
        Map<String, Integer> map = new HashMap<String, Integer>();
        for(String tmp : cs.getKeys(false)) {
            map.put(tmp, cs.getInt(tmp));
        }
        return map;
    }
 
Последнее редактирование:
Любите же вы себе жизнь усложнять.

PHP:
    void set(FileConfiguration cfg, Map<String, Integer> map) {
        cfg.set("keys", map);
    }
   
    Map<String, Integer> get(FileConfiguration cfg) {
        ConfigurationSection cs = this.getConfig().getConfigurationSection("keys");
        Map<String, Integer> map = new HashMap<String, Integer>();
        for(String tmp : cs.getKeys(false)) {
            map.put(tmp, cs.getInt(tmp));
        }
        return map;
    }
Очепятка
PHP:
    public Map<String, Integer> get(FileConfiguration configuration) {
        ConfigurationSection configurationSection = configuration.getConfigurationSection("keys");
        Predictions.notNull(configurationSection, "section not found");
        return configurationSection.getKeys(false).stream()
                .collect(Collectors.<String, String, Integer>toMap(k -> k, v -> configuration.getInt(v)));
    }
 
Назад
Верх