Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Как работать с конфигами

Тема в разделе "Sponge", создана пользователем Jourdan, 18 окт 2017.

  1. Автор темы
    Jourdan

    Jourdan Новичок Пользователь

    Баллы:
    16
    Продолжение можно найти в источнике!(на русском):
    https://spongeapi.com/d/13-kak-rabotat-s-konfigami

    Туториал небольшой, мне лень поправлять оформление под xenforo.
    --------------------------------

    Во многих плагинах есть конфигурация. У некоторых это `json`, у вторых это `hocon`, у третьих что-то своё. На этот раз мы рассмотрим API для конфигов.

    `ConfigurationLoader` - загрузчик конфигов.
    В Sponge можно использовать 3 вида `ConfigurationLoader`:
    1. Для HOCON (загрузчик по-умолчанию)
    2. Для JSON
    3. Для YAML

    У нас есть несколько путей получения конфига по-умолчанию:
    1. Инъекция стандартного `ConfigurationLoader`
    2. Инъекция `Path` стандартного конфига и ручное создание `ConfigurationLoader`
    Второй способ рассмотрим в конце статьи.

    Стандартный `ConfigurationLoader` можно получить через инжекцию.
    Делается это так:
    Код:
    @Inject
    @DefaultConfig(sharedRoot = false)
    private ConfigurationLoader<CommentedConfigurationNode> localLoader;
    
    1. `@Inject` - обозначает место для ижекции
    2. `@DefaultConfig(sharedRoot = false)` - спецификатор. Эта аннотация нужна инжектору, чтобы он знал, что от него хотят.
    В Sponge есть 2 спецификатора для конфигов. Это:
    1. `@DefaultConfig(boolean)`
    2. `@ConfigDir(boolean)`
    Первый спецификатор нужен для того, чтобы инжектировать сам конфиг, вторая нужна только для того, чтобы инжектировать папку с конфигом.
    `sharedRoot = false` обозначает то, что конфиг должен быть в директории от плагина.
    Трудно понять? Давайте я приведу несколько простых примеров, Вам сразу станет понятно.

    [Примеры в источнике]


    Ну что же, получили мы `ConfigurationLoader`, что же дальше?
    Всё просто! Нам нужно загрузить конфиг в память. Делается это с помощью метода `load()`. `load()` возвращает корневую ноду конфига.
    Код:
    CommentedConfigurationNode defaultWayNode = localLoader.load();
    
    А вот с `CommentedConfigurationNode` можно работать как с простым деревом.
    Давайте что-нибудь сделаем с `CommentedConfigurationNode`.
    Код:
    defaultWayNode.getNode("test", "node").setValue(true);
    
    (Примечание: комментарий можно указать с помощью метода `.setComment(String)`

    Продолжение в источнике:
    https://spongeapi.com/d/13-kak-rabotat-s-konfigami
     
  2. Mr Hosting
  3. demkom

    demkom Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    G_demkom_G
    Луек.
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Лойс за рипчик.
     

Поделиться этой страницей