Перейти к содержимому

SettingsManagerLib

Простая, удобная в настройке библиотека конфигов, использующая YACL и Mod Menu для создания простых или сложных меню настроек

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
101 тыс.
Подписчиков на Modrinth
4
версий
17
Обновлён
13 октября 202613 окт.
Опубликован
в 2025
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 6 модам. Скачайте её, если этого требует другой мод.

Коротко о моде

Библиотека — нужна другим модам: её требуют 6
Работает на Fabric
Для Minecraft 1.21.3–26.3
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.1.3+26.3 от 13 октября 2026
Лицензия LGPL-3.0-only — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.3–26.3
Описание переведено автоматическиПоказать оригинал (EN)

Простая библиотека-менеджер настроек, которая реализует YACL, чтобы легко создавать экраны конфигурации для Mod Menu.

Если вы хотите использовать этот мод для создания меню конфигурации для своего мода, рекомендую связаться со мной, так как я могу не обновлять эту страницу по мере обновления мода.

ВНИМАНИЕ: Сам по себе этот мод ничего не делает. Это библиотека для других модов.

Возможности:

  • Простая и быстрая настройка
  • Простое внедрение
  • Удобный доступ к настройкам
  • Встроенная генерация файла конфигурации для сохранения настроек между перезапусками клиента
  • Встроенный менеджер хромы для синхронизации функций хромы между файлами
  • Поддерживает почти все поля YACL

Настройка:

Добавьте мод как зависимость:

в build.gradle

repositories {
    maven { url = "https://api.modrinth.com/maven" }
    maven {
        name = "Terraformers"
        url = "https://maven.terraformersmc.com/"}
    maven {
        name 'Xander Maven'
        url 'https://maven.isxander.dev/releases'}
}

dependencies {
    modImplementation("maven.modrinth:settingsmanagerlib:${project.modmenu_version}")
    modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
    modImplementation "dev.isxander:yet-another-config-lib:${project.yacl_version}"
}

в gradle.properties

settingsmanagerlib_version=LATEST_VERSION_NUMBER (e.g. 1.0.0+1.21.11)
modmenu_version=LATEST_VERSION_NUMBER (e.g. 15.0.0)
yacl_version=LATEST_VERSION_NUMBER (e.g. 3.7.1+1.21.6-fabric)

в fabric.mod.json

"entrypoints": {
"modmenu": [ "com.example.mod.ModMenuAPI" ]
}

Затем создайте новый класс ModMenuAPI

public class ModMenuAPI implements ModMenuApi {
     @Override
     public ConfigScreenFactory<?> getModConfigScreenFactory() {
            return parentScreen -> ExampleModClient.settings.getConfig(parentScreen);
     }
}

Настройте мод:

в ExampleModClient

public static Settings settings;

@Override
public void onInitializeClient() {
     settings = new Settings().setup("Example Mod", "examplemod");
     settings.loadFromFile();
}

Чтобы добавить настройку:

Примечание: поддерживаются Strings, Booleans, Integers, Floats, Colors и пользовательские Enums.

Обычные Strings/Integers/Floats

в ExampleModClient

@Override
public void onInitializeClient() {
     settings.add(String settingId, String page, String group, String/int/float defaultValue, String settingName, String description)

     settings.add("guiName", "Visual Settings", "Overlay", "Default Gui Name", "Gui Scale", "This text will appear as a tooltip when you click on the option.");
}
Слайдеры Integer/Float

в ExampleModClient

@Override
public void onInitializeClient() {
     settings.addSlider(String settingId, String page, String group, int/float defaultValue, String settingName, String description, int/float min, int/float max, int/float step)

     settings.add("guiScale", "Visual Settings", "Overlay", 1.0f, "Gui Scale", "This text will appear as a tooltip when you click on the option.", 0.5f, 5.0f, 0.1f);
}
Booleans

в ExampleModClient

@Override
public void onInitializeClient() {
     settings.addSlider(String settingId, String page, String group, boolean defaultValue, String settingName, String description, BooleanFormat valueFormat)

     settings.add("doRenderGui", "Visual Settings", "Overlay", true, "Render Gui", "This text will appear as a tooltip when you click on the option.", BooleanFormat.ONOFF);
}

BooleanFormat — отображаемое значение boolean:

  • BooleanFormat.ONOFF — "On" или "Off"
  • BooleanFormat.TRUEFALSE — "True" или "False"
  • BooleanFormat.YESNO — "Yes" или "No"
  • BooleanFormat.TICKBOX — Флажок, который либо отмечен, либо не отмечен
Цвета

в ExampleModClient

@Override
public void onInitializeClient() {
     settings.addColor(String settingId, String page, String group, int defaultValue, String settingName, String description)

     settings.addColor("guiBackgroundColor", "Visual Settings", "Overlay", net.minecraft.util.Colors.GRAY, "Gui Background Color", "This text will appear as a tooltip when you click on the option.");
}
Пользовательский Enum Документация появится позже. Свяжитесь для подробностей

Учтите, что значения настроек автоматически сохраняются после перезапуска клиента, однако вам всё ещё нужно добавить их в меню конфигурации, что можно сделать, создав меню конфигурации внутри onInitializeClient()

Доступ к значениям:

Получение значения настройки:

Чтобы получить значение настройки, используйте следующее, где typeInstance — это значение того же типа, что и значение получаемой настройки. Обратитесь к примерам ниже для реализации. Учтите, что второй параметр settings.get() не имеет значения; важен только его тип — он должен совпадать с типом возвращаемого значения.

ExampleModClient.settings.get("settingId", typeInstance);

ExampleModClient.settings.get("doRenderGui", true); //чтобы вернуть boolean
ExampleModClient.settings.get("guiBackgroundColor", net.minecraft.util.Colors.GRAY); //чтобы вернуть цвет
ExampleModClient.settings.get("guiScale", 1.0f); //чтобы вернуть float
ExampleModClient.settings.get("guiName", "Default Gui Name"); //чтобы вернуть строку
ExampleModClient.settings.get("guiSliderMin", 1); //чтобы вернуть целое число

Установка значения настройки:

По умолчанию значение настройки устанавливается на её значение по умолчанию, если пользователь его не изменит. Чтобы вручную установить значение настройки, используйте следующее.

ExampleModClient.settings.set("settingId", newValue);

ExampleModClient.settings.set("doRenderGui", false); //пример с boolean

Страницы/Группы:

Настройки организованы по страницам и группам. Обратитесь к изображению ниже для примера. Страница — это панель сверху, и вы можете открыть одну страницу за раз. Группа — это сворачиваемая коллекция настроек. У вас может быть неограниченное количество групп и неограниченное количество настроек на каждой странице. Каждая настройка должна иметь страницу, но не требует группы. Чтобы создать настройку без группы, как показано на изображении ниже, установите группу в "" или "none". Пример страниц/групп/настроек

Зависимости:

Для работы этого мода требуются несколько других модов.

  • YACL
  • Mod Menu
  • Fabric API

Частые вопросы

Как установить SettingsManagerLib?

Установите Fabric под свою версию Minecraft, скачайте SettingsManagerLib под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть SettingsManagerLib?

У SettingsManagerLib есть сборки для Minecraft 1.21.3–26.3.

Нужен ли SettingsManagerLib на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU Lesser General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее