Помогите Массив конфигов

Статус
Закрыто для дальнейших ответов.

Fenix78563

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Blc_Dragon
Доброго времени суток, форумчане.

Случилось так что мне нужен массив конфигов.

я его задаю
Код:
public List<FileConfiguration> tabl;

Потом в методе onEnable
Код:
List<String> tabsl = new ArrayList<>(tabs.getKeys(false));
        for (String s : tabsl) {
            File tempFile = new File(getDataFolder()+ File.separator + s + ".yml");
            if (!tempFile.exists()) {
                Bukkit.getConsoleSender().sendMessage(ChatColor.RED + "Can't find tab file " + s + ".yml");
                try {
                    tempFile.createNewFile();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
            tabl.add(YamlConfiguration.loadConfiguration(tempFile));

При выполнении tabl.add выкидывает
Код:
java.lang.NullPointerException
    at ru.blc.GuiShop.Main.onEnable(Main.java:99) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) ~[server.jar:git-Spigot-90f61bc-6053c5c]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [server.jar:git-Spigot-90f61bc-6053c5c]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [server.jar:git-Spigot-90f61bc-6053c5c]
    at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:363) [PlugMan%201.10.jar:?]
    at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:316) [PlugMan%201.10.jar:?]
    at com.rylinaux.plugman.util.PluginUtil.reload(PluginUtil.java:377) [PlugMan%201.10.jar:?]
    at com.rylinaux.plugman.command.ReloadCommand.execute(ReloadCommand.java:122) [PlugMan%201.10.jar:?]
    at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95) [PlugMan%201.10.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [server.jar:git-Spigot-90f61bc-6053c5c]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) [server.jar:git-Spigot-90f61bc-6053c5c]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(CraftServer.java:646) [server.jar:git-Spigot-90f61bc-6053c5c]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [server.jar:git-Spigot-90f61bc-6053c5c]
    at net.minecraft.server.v1_10_R1.DedicatedServer.aL(DedicatedServer.java:438) [server.jar:git-Spigot-90f61bc-6053c5c]
    at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:401) [server.jar:git-Spigot-90f61bc-6053c5c]
    at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [server.jar:git-Spigot-90f61bc-6053c5c]
    at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [server.jar:git-Spigot-90f61bc-6053c5c]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]


Откуда тут NullPointerException? Что именно у меня null? Не могу найти. Заранее спасибо
 
феникс не агрись, иначе и не помогут.
 
А вчера мне доказывал, что не то. Сам же сделал по моему 2му варианту с переменной String name. Писец ты тяжелый.
 
А ведь я ему потом даже в лс отписал.
Это будет верно, если твои конфиги лежат в рабочей папке твоего плагина.
Java:
Collection<File> files = FileUtils.listFiles(this.getDataFolder(), FileFileFilter.FILE, FalseFileFilter.FALSE);
List<File> yamls = files.stream().filter(file -> {
    return file.getName().toLowerCase().endsWith(".yml");
}).collect(Collectors.toList());
//И после делаем с листом yamls что угодно.
Java:
private final HashMap <String, YamlConfiguration> configs = new HashMap<>();
//...
Collection<File> files = FileUtils.listFiles(this.getDataFolder(), FileFileFilter.FILE, FalseFileFilter.FALSE);
List<File> yamls = files.stream().filter(file -> {
    return file.getName().toLowerCase().endsWith(".yml");
}).collect(Collectors.toList());
for (File file : yamls) {
    configs.put(
        file.getName().replace(".yml", ""),
        YamlConfiguration.loadConfiguration(file)
    );
}
Но в его случае это будет не совсем верно, т.к. оказывается, что у него есть список yaml.
 
Последнее редактирование:
Складывается впечатление, что мой вчерашний вопрос никто не понял. совсем.

Если вам интересно, то прошу в лс, а сообщения не по теме просьба в теме не писать. Для этого опять же есть лс.

Заранее спасибо за понимание
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх