介绍
一个简单的设置管理器前置库,实现了 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();
}
添加设置:
注意:支持字符串、布尔值、整数、浮点数、颜色和自定义枚举。
标准字符串/整数/浮点数
在 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.");
}
整数/浮点数滑块
在 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);
}
布尔值
在 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", "点击此选项时,此文本将作为工具提示显示。", BooleanFormat.ONOFF);
}
BooleanFormat – 布尔值的显示形式:
BooleanFormat.ONOFF– “开启”或“关闭”BooleanFormat.TRUEFALSE– “真”或“假”BooleanFormat.YESNO– “是”或“否”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", "点击此选项时,此文本将作为工具提示显示。");
}
自定义枚举
文档即将推出。详情请联系获取。
设置值会在客户端重启后自动保留。不过,你仍需将设置添加到配置菜单中;可以在 onInitializeClient() 中创建配置菜单。
访问值:
获取设置的值:
若要获取设置的值,请使用以下代码,其中 typeInstance 是一个与所获取设置的值类型相同的值。具体实现请参考下方示例。请注意,settings.get() 的第二个参数并不重要,只需与返回值类型相同即可。
ExampleModClient.settings.get("settingId", typeInstance);
ExampleModClient.settings.get("doRenderGui", true); //返回布尔值
ExampleModClient.settings.get("guiBackgroundColor", net.minecraft.util.Colors.GRAY); //返回颜色
ExampleModClient.settings.get("guiScale", 1.0f); //返回浮点数
ExampleModClient.settings.get("guiName", "Default Gui Name"); //返回字符串
ExampleModClient.settings.get("guiSliderMin", 1); //返回整数
设置设置项的值:
默认情况下,设置项的值为其默认值,除非用户对其进行更改。若要手动设置某个设置项的值,请使用以下代码。
ExampleModClient.settings.set("settingId", newValue);
ExampleModClient.settings.set("doRenderGui", false); //布尔值示例
页面/分组:
设置按页面和分组进行组织。下方图片展示了一个示例。页面是顶部的栏,每次只能打开一个页面。分组是一组可折叠的设置。每个页面可以包含任意数量的分组和设置。每个设置都必须指定页面,但分组不是必需的。如需创建没有分组的设置(如图所示),请将分组设为 “” 或 “none”。

依赖项:
此模组需要其他多个模组才能运行。
- YACL
- 模组菜单
- Fabric API
常见问题
SettingsManagerLib 支持哪些 Minecraft 版本?
SettingsManagerLib 支持 Minecraft Java 版 1.21.3–26.3,共 14 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
SettingsManagerLib 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
wildbeast42 的其他作品
查看全部 →
SettingsManagerLib
一个简单易用、易于配置的配置库,使用 YACL 和 Mod Menu 创建简单或复杂的配置菜单。
Block HightlightFX
A simple visual mod that spices up your game with custom colorful block highlights and outlines!
CrosshairFX
A simple visual mod that spices up your game with custom crosshair colors & shapes!
SettingsManagerLib
A simple, easy-to-set-up config mod using YACL and Mod Menu to create simple or complex config menus
评论
登录后评论和评分