一个简单的设置管理库,它实现了YACL,以便轻松为Mod Menu生成配置界面。
如果你想在自己的模组中使用此模组来生成配置菜单,建议联系我,因为我可能不会随着模组更新而及时更新此页面。
注意:此模组本身不执行任何功能。它是供其他模组使用的库。
在 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=最新版本号(例如:1.0.0+1.21.11)
modmenu_version=最新版本号(例如:15.0.0)
yacl_version=最新版本号(例如: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("示例模组", "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", "视觉设置", "覆盖层", "默认界面名称", "界面缩放", "此文本将在点击选项时作为工具提示显示。");
}
整数/浮点数滑块
在 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", "视觉设置", "覆盖层", 1.0f, "界面缩放", "此文本将在点击选项时作为工具提示显示。", 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", "视觉设置", "覆盖层", true, "渲染界面", "此文本将在点击选项时作为工具提示显示。", 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", "视觉设置", "覆盖层", net.minecraft.util.Colors.GRAY, "界面背景颜色", "此文本将在点击选项时作为工具提示显示。");
}
自定义枚举
文档即将推出。详情请联系
请注意,设置的值在客户端重启后会自动保存,但你仍然需要将它们添加到配置菜单中,这可以通过在 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", "默认界面名称"); //返回字符串
ExampleModClient.settings.get("guiSliderMin", 1); //返回整数
默认情况下,设置的值为其默认值,除非用户更改。要手动设置设置的值,请使用以下方法。
ExampleModClient.settings.set("settingId", newValue);
ExampleModClient.settings.set("doRenderGui", false); //布尔值示例
设置按页面和分组进行组织。请参考下图示例。页面是顶部的栏,一次只能打开一个页面。分组是可折叠的设置集合。每个页面可以有无限的分组和无限个设置。每个设置必须有一个页面,但不需要分组。要创建如下图所示的没有分组的设置,请将分组设置为 "" 或 "none"。

此模组需要多个其他模组才能正常运行。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:76,441 | 历史访问人次:164,575
今日访问人数:7,066 | 今日访问人次:7,738
昨日访问人数:20,761 | 昨日访问人次:24,774
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6