SettingsManagerLib
Простая, удобная в настройке библиотека конфигов, использующая YACL и Mod Menu для создания простых или сложных меню настроек
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 101 тыс.
- Подписчиков на Modrinth
- 4
- версий
- 17
- Обновлён
- 13 октября 202613 окт.
- Опубликован
- в 2025
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
Простая библиотека-менеджер настроек, которая реализует 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 на сервере?
Ставится только в игру; на сервер ставить не нужно