Вопрос Нужна помощь с автосозданием папки при первом запуске плагина

Версия Minecraft
1.20.X

Reizi

Пользователь
Сообщения
7
Требуется, чтобы при запуске плагина, плагин создавал папку с config.yml, я вроде как всё нормально сделал, но он также выдаёт мне ошибку, я не понимаю, что не так.

Main-файл:
Java:
public final class FAMain extends JavaPlugin {
    FileConfiguration config = this.getConfig();

    @Override
    public void onEnable() {
        if (!getDataFolder().exists()) {
            getLogger().info("Создание " + getDataFolder() + " главной директории");
            getDataFolder().mkdir();
            saveDefaultConfig();
        }

        this.saveDefaultConfig();
        this.getConfig();
        config.addDefault("Сообщение1", true);
        if (config.getBoolean("Сообщени1")) {
            Bukkit.getConsoleSender().sendMessage("Ответ1");
        }
        config.options().copyDefaults(true);
        saveConfig();

        String serverVersion = this.getServer().getVersion();
        this.getLogger().info("Server version: " + serverVersion);
        this.getServer().getPluginManager().registerEvents( new FAListener(), this);
    }
    @Override
    public void onDisable() {
    }
}

Listener-файл:
Java:
public class FAListener implements Listener {
    FileConfiguration config = new FAMain().getConfig();

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        if (config.getBoolean("Сообщение1")) {
            player.sendMessage("ДА");
        } else {
            player.sendMessage("НЕТ");
        }
    }
}
 
if (!getDataFolder().exists()) { getLogger().info("Создание " + getDataFolder() + " главной директории"); getDataFolder().mkdir(); saveDefaultConfig(); }
слишком сложно, можно обойтись только saveDefaultConfig(); без проверок на существование папки. saveDefaultConfig(); фактически выполняет saveResource() для config.yml без замены уже существующего файла
 
Назад
Сверху Снизу