- Документация
- https://modrinth.com/plugin/betterconfig
BetterConfig — библиотека для создания и изменения конфигураций через команды. Клиентская и серверная стороны в метаданных отмечены как опциональные; в этом материале подтверждён Paper-артефакт для Minecraft 1.21. Проект относится к категориям library, management и storage и распространяется по LGPL-3.0-or-later.
Это прежде всего инструмент разработчика, а не готовая система настроек для любого установленного плагина. BetterConfig предоставляет способ описать параметры в Java-классе, зарегистрировать их при инициализации и затем управлять значениями через предусмотренный командный интерфейс.
BetterConfig объединяет описание параметров, значения по умолчанию и способ их изменения вокруг полей Java-класса с аннотацией @Config.
Библиотека может быть полезна, когда разработчику нужно:
• хранить параметры в одном публичном классе;
• задавать резервные значения и комментарии;
• изменять параметры через команды;
• поддерживать коллекции, отображения и собственные типы.
Конкретная конфигурация создаётся автором интегрируемого плагина. BetterConfig не определяет за него набор параметров и их смысл.
Официальный пример начинается с отдельного публичного класса, в котором размещаются конфигурационные поля. Поле не должно быть final, поскольку его значение предполагается изменять. Аннотация @Config помечает его как конфигурационную запись, а начальное значение используется как значение по умолчанию или резервное значение.
У аннотации можно указать комментарий. Такой подход связывает описание параметра с его объявлением и уменьшает риск расхождения между кодом и внешней документацией. При этом библиотека не освобождает разработчика от выбора корректного типа, понятного имени и безопасного значения по умолчанию.
На Paper класс конфигурации регистрируется при включении плагина через построитель BetterConfig, после чего актуальные значения доступны через его поля. Документация упоминает и Fabric, но подтверждённый файл задания относится к Paper.
Практическая схема интеграции выглядит так:
• Создать публичный класс конфигурации.
• Добавить изменяемые поля с @Config и начальные значения.
• При необходимости указать комментарии.
• Зарегистрировать класс при включении Paper-плагина.
• Проверить чтение и изменение значений.
Точные имена плагина, классов и параметров выбираются разработчиком.
После регистрации записи можно менять через предусмотренный командный интерфейс. Конкретные команды интегрируемого проекта должны документироваться его автором.
Командный способ удобен для оперативного управления, но требует контроля доступа. В предоставленной основе не описаны модель разрешений, аудит действий или защита отдельных полей. Поэтому нельзя предполагать, какие пользователи смогут менять значения в конкретной реализации.
Разработчику следует определить права доступа, допустимые значения и способ восстановления после ошибочного изменения.
Библиотека нативно поддерживает Collection и Map как типы переменных. Для таких записей доступны операции добавления, помещения пары ключ–значение и удаления. Это расширяет модель за пределы простых строк, чисел или логических значений.
Коллекции подходят для перечней, а отображения — для связанных ключей и значений. Однако выбор структуры должен соответствовать задаче. Разработчику необходимо определить допустимые элементы, поведение при дубликатах, обработку отсутствующих ключей и последствия удаления. Эти правила не могут быть выведены из одной только поддержки типов.
BetterConfig позволяет регистрировать собственные сериализаторы и десериализаторы, чтобы работать с произвольными типами. Официальный текст показывает общий подход: при построении конфигурации задаются и преобразователь данных, и тип аргумента, используемый командной системой.
Это позволяет работать с объектами, которые неудобно представлять стандартным типом. Корректность записи, восстановления и обработки неверного формата остаётся ответственностью интеграции.
Конкретные адаптеры для сторонних плагинов в основе не перечислены.
Аннотация @Config допускает указание собственных методов обновления: setter, adder, putter или remover. Благодаря этому разработчик может заменить стандартное присваивание специальной логикой. В исходном примере показано добавление записи в Map на основе одного входного значения.
Такой механизм полезен, когда изменение должно сопровождаться преобразованием, проверкой или побочным действием. Но он увеличивает ответственность кода: пользовательский метод должен корректно обрабатывать входные данные и не оставлять состояние частично изменённым.
Указанный способ установки — помещение JAR в папку plugins совместимого Paper-сервера. Поскольку BetterConfig является библиотекой, полезный результат зависит от того, зарегистрировал ли использующий её плагин собственные конфигурационные классы.
Практический порядок для администратора:
• Остановить сервер.
• Проверить Paper и Minecraft 1.21.
• Поместить один файл BetterConfig в plugins.
• Убедиться в отсутствии старой версии.
• Запустить сервер и проверить журнал загрузки.
• Проверить также плагин, который использует библиотеку.
• Сохранить копию конфигурационных данных перед обновлением.
Обязательные project dependencies в выбранных метаданных не указаны. Это не означает, что библиотека сама создаёт настройки для любых других плагинов.
Подтверждён файл betterconfig-paper-2.3.0.jar, версия 2.3.0, размер 47 359 байт. SHA-512: a4733376dcd4c99999381e97ba97b6fc18a0e5d981b82a2b15489ffee9b1c2fc7dbde8a4fc5f52b1a74475e4944354c44dcb21811b0b3985342f2b599f0ee40e. SHA-1: 63465c65a15f89299830af92c2183c971aeb0277.
Файл получен по официальному HTTPS, локально сверён с опубликованными контрольными суммами и статически проверен по структуре и путям. Динамический запуск не выполнялся. Поэтому подтверждена целостность артефакта, но не работа конкретной интеграции.
BetterConfig распространяется по LGPL-3.0-or-later. При включении библиотеки в собственный проект разработчику следует учитывать условия этой лицензии применительно к способу поставки и модификациям.
Предоставленная основа не подтверждает готовые конфигурации, разрешения, автоматическую миграцию данных или совместимость с любым Paper-плагином. Без динамической проверки нельзя обещать успешную загрузку, корректность пользовательских адаптеров или сохранение старых значений после обновления.
Нет. Это библиотека, с помощью которой разработчик описывает и регистрирует конфигурацию своего проекта.
Paper для Minecraft 1.21; подтверждён файл версии 2.3.0.
Да. Официальное описание указывает нативную поддержку Collection и Map с операциями добавления, помещения и удаления.
Да. Разработчик может зарегистрировать сериализатор, десериализатор и соответствующий тип аргумента.
В выбранных метаданных обязательные project dependencies не указаны.
Нет. Проведены сверка хешей и статическая проверка структуры, но запуск не выполнялся.
Это прежде всего инструмент разработчика, а не готовая система настроек для любого установленного плагина. BetterConfig предоставляет способ описать параметры в Java-классе, зарегистрировать их при инициализации и затем управлять значениями через предусмотренный командный интерфейс.
Для чего предназначена библиотека
BetterConfig объединяет описание параметров, значения по умолчанию и способ их изменения вокруг полей Java-класса с аннотацией @Config.
Библиотека может быть полезна, когда разработчику нужно:
• хранить параметры в одном публичном классе;
• задавать резервные значения и комментарии;
• изменять параметры через команды;
• поддерживать коллекции, отображения и собственные типы.
Конкретная конфигурация создаётся автором интегрируемого плагина. BetterConfig не определяет за него набор параметров и их смысл.
Скриншоты и внешний вид
Базовая модель конфигурации
Официальный пример начинается с отдельного публичного класса, в котором размещаются конфигурационные поля. Поле не должно быть final, поскольку его значение предполагается изменять. Аннотация @Config помечает его как конфигурационную запись, а начальное значение используется как значение по умолчанию или резервное значение.
У аннотации можно указать комментарий. Такой подход связывает описание параметра с его объявлением и уменьшает риск расхождения между кодом и внешней документацией. При этом библиотека не освобождает разработчика от выбора корректного типа, понятного имени и безопасного значения по умолчанию.
Регистрация на Paper
На Paper класс конфигурации регистрируется при включении плагина через построитель BetterConfig, после чего актуальные значения доступны через его поля. Документация упоминает и Fabric, но подтверждённый файл задания относится к Paper.
Практическая схема интеграции выглядит так:
• Создать публичный класс конфигурации.
• Добавить изменяемые поля с @Config и начальные значения.
• При необходимости указать комментарии.
• Зарегистрировать класс при включении Paper-плагина.
• Проверить чтение и изменение значений.
Точные имена плагина, классов и параметров выбираются разработчиком.
Командное управление значениями
После регистрации записи можно менять через предусмотренный командный интерфейс. Конкретные команды интегрируемого проекта должны документироваться его автором.
Командный способ удобен для оперативного управления, но требует контроля доступа. В предоставленной основе не описаны модель разрешений, аудит действий или защита отдельных полей. Поэтому нельзя предполагать, какие пользователи смогут менять значения в конкретной реализации.
Разработчику следует определить права доступа, допустимые значения и способ восстановления после ошибочного изменения.
Коллекции и отображения
Библиотека нативно поддерживает Collection и Map как типы переменных. Для таких записей доступны операции добавления, помещения пары ключ–значение и удаления. Это расширяет модель за пределы простых строк, чисел или логических значений.
Коллекции подходят для перечней, а отображения — для связанных ключей и значений. Однако выбор структуры должен соответствовать задаче. Разработчику необходимо определить допустимые элементы, поведение при дубликатах, обработку отсутствующих ключей и последствия удаления. Эти правила не могут быть выведены из одной только поддержки типов.
Пользовательские типы
BetterConfig позволяет регистрировать собственные сериализаторы и десериализаторы, чтобы работать с произвольными типами. Официальный текст показывает общий подход: при построении конфигурации задаются и преобразователь данных, и тип аргумента, используемый командной системой.
Это позволяет работать с объектами, которые неудобно представлять стандартным типом. Корректность записи, восстановления и обработки неверного формата остаётся ответственностью интеграции.
Конкретные адаптеры для сторонних плагинов в основе не перечислены.
Настраиваемое поведение обновлений
Аннотация @Config допускает указание собственных методов обновления: setter, adder, putter или remover. Благодаря этому разработчик может заменить стандартное присваивание специальной логикой. В исходном примере показано добавление записи в Map на основе одного входного значения.
Такой механизм полезен, когда изменение должно сопровождаться преобразованием, проверкой или побочным действием. Но он увеличивает ответственность кода: пользовательский метод должен корректно обрабатывать входные данные и не оставлять состояние частично изменённым.
Установка и проверка
Указанный способ установки — помещение JAR в папку plugins совместимого Paper-сервера. Поскольку BetterConfig является библиотекой, полезный результат зависит от того, зарегистрировал ли использующий её плагин собственные конфигурационные классы.
Практический порядок для администратора:
• Остановить сервер.
• Проверить Paper и Minecraft 1.21.
• Поместить один файл BetterConfig в plugins.
• Убедиться в отсутствии старой версии.
• Запустить сервер и проверить журнал загрузки.
• Проверить также плагин, который использует библиотеку.
• Сохранить копию конфигурационных данных перед обновлением.
Обязательные project dependencies в выбранных метаданных не указаны. Это не означает, что библиотека сама создаёт настройки для любых других плагинов.
Файл, хеши и статическая проверка
Подтверждён файл betterconfig-paper-2.3.0.jar, версия 2.3.0, размер 47 359 байт. SHA-512: a4733376dcd4c99999381e97ba97b6fc18a0e5d981b82a2b15489ffee9b1c2fc7dbde8a4fc5f52b1a74475e4944354c44dcb21811b0b3985342f2b599f0ee40e. SHA-1: 63465c65a15f89299830af92c2183c971aeb0277.
Файл получен по официальному HTTPS, локально сверён с опубликованными контрольными суммами и статически проверен по структуре и путям. Динамический запуск не выполнялся. Поэтому подтверждена целостность артефакта, но не работа конкретной интеграции.
Лицензия и ограничения
BetterConfig распространяется по LGPL-3.0-or-later. При включении библиотеки в собственный проект разработчику следует учитывать условия этой лицензии применительно к способу поставки и модификациям.
Предоставленная основа не подтверждает готовые конфигурации, разрешения, автоматическую миграцию данных или совместимость с любым Paper-плагином. Без динамической проверки нельзя обещать успешную загрузку, корректность пользовательских адаптеров или сохранение старых значений после обновления.
FAQ
BetterConfig является готовым конфигом для сервера?
Нет. Это библиотека, с помощью которой разработчик описывает и регистрирует конфигурацию своего проекта.
Какая платформа подтверждена?
Paper для Minecraft 1.21; подтверждён файл версии 2.3.0.
Можно ли хранить списки и карты?
Да. Официальное описание указывает нативную поддержку Collection и Map с операциями добавления, помещения и удаления.
Поддерживаются ли собственные типы?
Да. Разработчик может зарегистрировать сериализатор, десериализатор и соответствующий тип аргумента.
Есть ли обязательные зависимости?
В выбранных метаданных обязательные project dependencies не указаны.
Выполнялся ли динамический запуск?
Нет. Проведены сверка хешей и статическая проверка структуры, но запуск не выполнялся.