McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
SettingsManagerLib

SettingsManagerLib

一个简单易用的配置库,利用YACL和Mod Menu创建简洁或复杂的配置菜单
fabric 作者 wildbeast42 支持版本 1.21.3 - 26.1
下载量
34,887
关注数
3
数据来源
Modrinth
模组详细介绍

一个简单的设置管理库,它实现了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=最新版本号(例如: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"。

页面/分组/设置示例

依赖项:

此模组需要多个其他模组才能正常运行。

  • YACL
  • Mod Menu
  • Fabric API
基本信息
模组名称SettingsManagerLib
作者wildbeast42
下载量34,887
关注数3
支持版本1.21.3 - 26.1
加载器fabric
客户端required
服务端unsupported

友情链接: 网易我的世界 | 泰拉瑞亚 | 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