Иконка ресурса

Руководство BUKKIT API - Конфигурации для плагинов.

Поддерживаемые версии
  1. 1.8
  2. 1.9
  3. 1.10
  4. 1.11
  5. 1.12
  6. 1.13
  7. 1.14
  8. 1.15
  9. 1.16
  10. 1.17
  11. 1.18
  12. 1.19
Похожая тема: https://gist.github.com/Xezard/55b81fce657d3492c2b099521976b4f9

Код:
Java:
public class cfg {
    private static FileConfiguration config;
    private static File file;

    public void loadYamlFile(Plugin plugin) {
        file = new File(plugin.getDataFolder(), "customCfg.yml");
        if (!file.exists()) { //проверка на то есть ли файл, если нет - создаётся папка и сохраняется файл.
            plugin.getDataFolder().mkdirs();
            plugin.saveResource("customCfg.yml", true);
        }

        config = YamlConfiguration.loadConfiguration(file);
    }

    public static FileConfiguration getConfig() {
        return config;
    }

    public void reloadCfg(Plugin plugin) {
        if(!file.exists()) { //проверка на то есть ли файл, если нет - создаётся папка и сохраняется файл.
            plugin.getDataFolder().mkdirs();
            plugin.saveResource("customCfg.yml", true);
        }
        try {
            config.load(file);
            Bukkit.getConsoleSender().sendMessage("Конфигурация перезагружена!");
        } catch (IOException | InvalidConfigurationException e) {
            Bukkit.getConsoleSender().sendMessage("Не удалось перезагрузить конфигурацию!");
        }
    }

пример использования:
Java:
public class cmd implements CommandExecutor {

    Guide main;
    public cmd(Guide main) {
        main.getCommand("cmd").setExecutor(this);
        this.main = main;
    }

    @Override
    public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
        cfg config = new cfg(); // инициализация конфигурации в класс
        if(args.length < 1) {
            sender.sendMessage(ChatColor.translateAlternateColorCodes('&', cfg.getConfig().getString("message")));
            return true;
        }
        if(args[0].equalsIgnoreCase("reload")) {
            config.reloadCfg(main);
            sender.sendMessage("Reloaded!");
        }
        return true;
    }
}

вид конфигурации:
YAML:
message: '&aКонфиг успешно работает!'

главный класс:
Java:
@Override
    public void onEnable() {
        cfg config = new cfg();
        config.loadYamlFile(this);
        new cmd(this);
    }

Скриншоты:
1664281980137.png

1664282181946.png
Автор
Destroy
Просмотры
1 809
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Поделиться ресурсом

Назад
Сверху Снизу