现代配置

现代配置

ModernConfig 是一个为现代 Fabric 模组设计的配置库

基础库

ModernConfig

ModernConfig 标志

一个美观、现代的 Minecraft 模组配置库

许可证 Minecraft 模组加载器 版本

🌟 概述

ModernConfig 是一个适用于 Minecraft Fabric 模组的精美配置库,让设置管理变得简单。无需再使用配置命令——ModernConfig 带有动画效果、现代风格,并且非常容易集成到你的模组中。

✨ 功能特性

🧩 配置选项

  • 🔘 开关:布尔开关——开或关
  • 📝 文本输入框:字符串输入
  • 🎚️ 滑条:支持自定义范围和精度的数值输入
  • 📋 列表:支持添加/删除功能的动态字符串列表
  • 🎨 颜色选择器:支持十六进制输入的 HSV 颜色选择
  • 📋 下拉菜单:选择菜单
  • 📁 分类:支持嵌套配置的组织分区

🚀 易于开发

  • 简易 API:易于使用的构建器
  • 配置更新监听器:注册监听器以在配置变更时触发

🔧 其他特性

  • 全局配置界面:在一个地方访问所有模组的配置
  • 内置按键绑定:右 Shift 打开配置(可配置)
  • 性能优化:不消耗 FPS 的动画效果

📸 截图

主界面

主配置界面 带有动画效果和现代设计的主界面

配置选项

配置选项 丰富多样的输入类型:开关、滑条、文本输入框等

颜色选择器

颜色选择器 带有实时预览的 HSV 颜色选择器

🚀 安装

玩家安装

  1. 下载并安装 Fabric

  2. 下载 ModernConfig

  3. 安装模组

    • 将 .jar 文件放入你的 mods 文件夹
    • 使用 Fabric 配置文件启动 Minecraft

开发者安装

将 ModernConfig 添加到你的 build.gradle:

repositories {
    maven {
        name = 'QWERTZ-Repo'
        url = 'https://repo.qwertz.app/'
    }
}

dependencies {
    modImplementation 'app.qwertz:modernconfig:1.3'
}

🎮 使用方法

打开配置

  • 游戏内:按下 右 Shift(你可以更改此按键绑定)

导航

  • 主界面:显示所有使用 ModernConfig 的模组
  • 点击一个模组:打开该模组的设置
  • 返回按钮:返回上一界面

🔧 开发者指南

快速开始

设置配置就是这么简单:

public class YourMod implements ClientModInitializer {
    
    @Override
    public void onInitializeClient() {
        ModernConfig config = ConfigBuilder.create("YourMod", "你的模组配置")
            .toggle("enabled", "启用模组", true)
            .slider("power", "力量等级", 50, 0, 100, 1)
            .text("username", "玩家名称", "Steve")
            .color("theme_color", "主题颜色", 0x4A90E2)
            .list("whitelist", "玩家白名单", "玩家名称")
            .dropdown("difficulty", "难度", Arrays.asList("简单", "普通", "困难"), "普通")
            .build();
    }
}

使用分类

当你有大量设置时,可以将它们组织到分类中:

ModernConfig config = ConfigBuilder.create("AdvancedMod", "高级模组设置")
    .category("general", "常规设置", "主要配置选项", category -> category
        .toggle("enabled", "启用模组", true)
        .slider("update_interval", "更新间隔", 20, 1, 100, 1)
        .text("server_url", "服务器 URL", "https://api.example.com")
    )
    .category("ui", "用户界面", "自定义用户界面", category -> category
        .color("primary_color", "主色调", 0x4A90E2)
        .color("secondary_color", "辅助色调", 0x2ECC71)
        .dropdown("theme", "主题", Arrays.asList("深色", "浅色", "自动"), "深色")
        .slider("ui_scale", "界面缩放", 1.0f, 0.5f, 2.0f, 0.1f)
    )
    .category("advanced", "高级设置", "高级配置选项", category -> category
        .toggle("debug_mode", "调试模式", false)
        .list("blocked_items", "被阻止的物品", "物品 ID")
        .list("whitelist", "白名单服务器", "IP")
        .text("api_key", "API 密钥", "")
    )
    .build();

访问配置值

// 按分类路径获取配置选项
ConfigOption<?> enabledOption = config.getOption("general", "enabled");
ConfigOption<?> updateOption = config.getOption("general", "update_interval");
ConfigOption<?> whitelistOption = config.getOption("advanced", "whitelist");

// 获取实际值
boolean isEnabled = (Boolean) enabledOption.getValue();
int updateInterval = (Integer) updateOption.getValue();
List<String> whitelist = (List<String>) whitelistOption.getValue();

🎨 配置选项

开关(布尔值)

.toggle("toggle_id", "显示名称", defaultValue)
  • 用途:开/关切换
  • 示例:功能开关、启用/禁用选项

文本输入框(字符串)

.text("text_id", "显示名称", "默认值")
.text("text_id", "显示名称", "默认值", 最大长度)
  • 用途:文本输入字段
  • 示例:玩家名称、服务器 URL、文件路径、API 密钥

滑条(数值)

.slider("slider_id", "显示名称", 默认值, 最小值, 最大值, 步长)
  • 用途:带范围限制的数值输入
  • 示例:百分比、缩放比例、间隔、计数、延迟

颜色选择器(整数)

.color("color_option_id", "显示名称", 0xRRGGBB)
  • 用途:带颜色选择器的颜色选择
  • 示例:主题颜色、高亮、界面自定义

列表(字符串数组)

.list("list_id", "显示名称", "项目显示名称")
  • 用途:文本条目列表
  • 示例:玩家白名单、被阻止的物品、关键词

下拉菜单(字符串选择)

.dropdown("dropdown_id", "显示名称", Arrays.asList("选项1", "选项2"), "默认值")
  • 用途:从列表中选择一个选项
  • 示例:难度等级、主题、渲染模式、语言选择

分类(组织)

.category("category_id", "分类名称", "描述", category -> category
    // 在此添加选项
)
  • 用途:组织相关选项
  • 示例:按逻辑对相关设置进行分组

🤝 贡献

拉取请求流程

  1. 复刻(Fork)此仓库
  2. 进行你的修改
  3. 进行测试
  4. 提交拉取请求

🙏 致谢

开发团队

📞 支持

🌟 星标历史

星标历史图表


用心 ❤️ 和许多眼泪 🥲 制作

⬆ 返回顶部